diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100644 new mode 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # Set minimum CMake version (required for CMake 3.0 or later) cmake_minimum_required(VERSION 2.8.12) -set(QT_MIN_VERSION "5.7.0") +set(QT_MIN_VERSION "5.9.0") set(KF5_MIN_VERSION "5.0.0") # Use Extra CMake Modules (ECM) for common functionality. @@ -25,6 +25,7 @@ Quick Core Qml + DBus ) add_subdirectory(plugin) diff --git a/PACKAGING.readme b/PACKAGING.readme old mode 100644 new mode 100755 --- a/PACKAGING.readme +++ b/PACKAGING.readme @@ -29,3 +29,6 @@ pyqt5-dev python-sip python-sip-dev +qml-module-qtgraphicaleffects +libqt5dbus5 +libkf5dbusaddons-dev diff --git a/Readme.md b/Readme.md old mode 100644 new mode 100755 --- a/Readme.md +++ b/Readme.md @@ -1,4 +1,4 @@ -# Mycroft Plasmoid // Release 1.0 +# Mycroft Plasmoid #### Mycroft Ai Plasmoid and Skills for KDE Plasma 5 Desktop 1. Installation Requirements @@ -14,9 +14,9 @@ + Download / Clone Mycroft Plasmoid from this REPO. + Unzip to folder if Downloaded - + For KDE NEON / (Kubuntu 16.10 not Supported does not have required packages even in backports, Upgrade to 17.04): sudo apt-get install libkf5notifications-data libkf5notifications-dev qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-controls qml-module-qtwebsockets qml-module-qt-websockets qtdeclarative5-qtquick2-plugin qtdeclarative5-models-plugin cmake cmake-extras cmake-data qml-module-qtquick-layouts libkf5plasma-dev extra-cmake-modules qtdeclarative5-dev build-essential g++ gettext libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 -y + + For KDE NEON / Kubuntu 17.10: sudo apt-get install libkf5notifications-data libkf5notifications-dev qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-controls qml-module-qtwebsockets qml-module-qt-websockets qtdeclarative5-qtquick2-plugin qtdeclarative5-models-plugin cmake cmake-extras cmake-data qml-module-qtquick-layouts libkf5plasma-dev extra-cmake-modules qtdeclarative5-dev build-essential g++ gettext libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 qml-module-qtgraphicaleffects libqt5dbus5 libkf5dbusaddons-dev -y - + For Fedora 25: sudo dnf install kf5-knotifications-devel qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtquick1-devel qt5-qtquickcontrols qt5-qtquickcontrols2 qt5-qtwebsockets cmake extra-cmake-modules kf5-plasma-devel kf5-i18n-devel qt5-qtwebkit qt5-qtwebkit-devel + + For Fedora 26: sudo dnf install kf5-knotifications-devel qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtquick1-devel qt5-qtquickcontrols qt5-qtquickcontrols2 qt5-qtwebsockets cmake extra-cmake-modules kf5-plasma-devel kf5-i18n-devel qt5-qtwebkit qt5-qtwebkit-devel 2. Installation Instructions [Go To Downloaded Plasmoid Folder and run the following commands] @@ -37,7 +37,7 @@ 3. Upgrade From Previous Plasmoid Instructions + Install additional dependencies: - (Neon/Kubuntu): sudo apt-get install libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 + (Neon/Kubuntu): sudo apt-get install libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 libqt5dbus5 libkf5dbusaddons-dev qml-module-qtgraphicaleffects (Fedora): sudo dnf install kf5-i18n-devel qt5-qtwebkit qt5-qtwebkit-devel + Locate your plasma-mycroft folder + cd plasma-mycroft diff --git a/image/breeze-dark/apps/16/mycroft-plasma-appicon.svg b/image/breeze-dark/apps/16/mycroft-plasma-appicon.svg old mode 100644 new mode 100755 diff --git a/image/breeze-dark/apps/32/mycroft-plasma-appicon.svg b/image/breeze-dark/apps/32/mycroft-plasma-appicon.svg old mode 100644 new mode 100755 diff --git a/image/breeze/apps/16/mycroft-plasma-appicon.svg b/image/breeze/apps/16/mycroft-plasma-appicon.svg old mode 100644 new mode 100755 diff --git a/image/breeze/apps/32/mycroft-plasma-appicon.svg b/image/breeze/apps/32/mycroft-plasma-appicon.svg old mode 100644 new mode 100755 diff --git a/plasmoid/contents/code/msm.sh b/plasmoid/contents/code/msm.sh old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/.directory b/plasmoid/contents/images/.directory new file mode 100755 --- /dev/null +++ b/plasmoid/contents/images/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2017,11,6,14,44,20 +Version=4 diff --git a/plasmoid/contents/images/Color-Palette_1.gif b/plasmoid/contents/images/Color-Palette_1.gif deleted file mode 100644 index 413d76aa59ef344f646490b74dd40321ae4f4909..0000000000000000000000000000000000000000 GIT binary patch literal 0 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⁡c5+VfecTbv; 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%0AQe_ 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 diff --git a/plasmoid/contents/images/Logo_2.gif b/plasmoid/contents/images/Logo_2.gif old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/alarm.png b/plasmoid/contents/images/alarm.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/appicon.png b/plasmoid/contents/images/appicon.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/appicon.svg b/plasmoid/contents/images/appicon.svg old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/background.png b/plasmoid/contents/images/background.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/bluebg.png b/plasmoid/contents/images/bluebg.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/bluesky.png b/plasmoid/contents/images/bluesky.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/clearsky.gif b/plasmoid/contents/images/clearsky.gif old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/climatesc.jpg b/plasmoid/contents/images/climatesc.jpg old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/dateandtime.png b/plasmoid/contents/images/dateandtime.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/desktop.png b/plasmoid/contents/images/desktop.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/funnyface.png b/plasmoid/contents/images/funnyface.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/haze.gif b/plasmoid/contents/images/haze.gif old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/joke.png b/plasmoid/contents/images/joke.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/logo.png b/plasmoid/contents/images/logo.png old mode 100644 new mode 100755 diff --git a/plasmoid/contents/images/midanim.png b/plasmoid/contents/images/midanim.png new file mode 100755 index 0000000000000000000000000000000000000000..c38a9170c5a289695a77998e19782a441bdad0f2 GIT binary patch literal 15438 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 literal 0 Hc$@oZR z#3-T&Bt*m)5}XMMF-p`B9}ZCiiVs8+5i{hps6pb5%y)T>E3&-|6l*VFBKuo1=H!2D2iV8^~&1jdi>>clkxDlyx$eNgGPA)LP!xmi{DSi z!}mxC5`cFRA7FWPW8Lz<@1Bf@7p7kekQgKYH;A7lYX#z`@f>j1WIViG89@SYF5)k* zZd?hR2khJMrGE$9I2jLrBq2xuy~pzE##z8Mz-wB5>D|ERC*$E$vPKd>A0z%rzzx6~ zJN&cH0^bDgoQ#M6kq{(+g?s$v)r}*8PXedU@ohW_+z9-5G9DspBmpdf_y+*z10QR_ z=QpxNz*7K;7$gJLvK#mu@W(tM2ok^+^5+nLf8Zm)1;Bm|eWb(| zeI0ngBm`vx380AhiO;_Z*x~R;{B4{K9+EAR0Bnd4a6Geq{@XnI$h(2h0#8c_feRo# z(HY_=KL1Ql$EDO3g(!qb#CO)`*Tp2ZMGtTJL4bvF6fp4z%(^DF)*251b2J3>+Z77uupP0e>qJflu}*@`3yX#E*c}nC;s+ zTpYKyMYjRpvav<3iy-oW_&MZ%YwYviAx_uAY>R&3OE!pHAbv8KhMxYh zvCluj1>#S}!%3GhLE6WDy;1^sCP!RR^ z0d@hG0|&Vt$(!03N9q6*UIOk1z5s0WwKfyAwFVCl)vy!P~+x4rupaxHomt1@c^rU<2_FX0~ATP~x@>9fL0>-}hd>i4{SqJbC+kg)N?*+chY(;rmRv>pd7J~(l zKS-Z%>vJ<>=Bs_$!ED{&9$;j$Md>=ROIs9mMf_yaQ^a2Zt^-a9(FiBqprYs=2>G*k zF&4tDz&{P+)@fFZx*&fh>JNcSeE0cPL{K)NffmkxG1;Q7MG&<~{7j*n`25R&S0WgN zAmVSq&zap@w4Nt|HtT}cGe8{mPmVqQ8#JFn4g8l`Tl{Olzq-r@jb9<-_m`R7pMQ$x zP-p>v25x57KJ7#VQB(4#EYA({`9eo{B(_CQv~7u^mdO7IIa^@`p-WrTG#f;9Ngosc z`@qqf8)1(46Y!O`Y*AE){L8Bw-vHjNxeykJpD{a$wx@{*q8j9XjM1I!7;qR?0E-Y1)ePv!Jvrz zeLB4_2$tA~*_P|?0jDmnZai9KgO>6vkH{}Ljw6^o5O7OSPmAGY89?M0e1^#eYx6fHhGxa^ zQk@AB^3V6qYaElmDKS(>dX8j)S|I)+f`{quoaDVp2sLW}wLr^>pC(+F7hPHJW=#D~ zHY-R7DuO#9epT{j4iT-}{JpwYs%JAo{CFt|A#ZNVGC-(;oUe=TV3L?G@sTN7B?BiA?gqi|K1}9_z*jSyu5WfxKh9rU_0SxN;O`oHFc03HX z-mUkIK*{?l+R#|ExE3mc-wRX}ISmi=SnqS>OuxUP2Tmm43t0ro7%YWO{vylMSG!Xo z8yLl%=@yMbZkG;1Cx4#hNeI&SsBdeFve_VQl|sw}Ted=kv@k#^tDQTO_9=VcHUfmJOn^4B%56)U>!|>hQEJHdEwTWVFqzeSB?` zX4{}f3lx&)?~?r4&2s72?@PORd39qwilR|A=v94~pAT3HmHgRBZ<6WqNZ)57rA1)s z5QWkm8u(uP7J1ra;@cpHLIay7a6u59(#rQ+C>2|}NEJX`B3BbVD+kAo<$oED%MJzXIrj{FCu;l)SD_8-=dVzStBPe7_{w+YFG`@2?vD%QnpUC<4=Jv2XQ2GN;}NplFinl0UTb z5~gj`zSaW+Unel@`xkAaT*AuQrg441M=Ru&08FHj+2D-#muCjf=M#plkVQKD4!(kk=$2!LArq22hcv;#UH2 zHwA0OS2k!s=8AOJQ8i7={?xZYK8)SKH^Ntq=8FDd+n|Au6JpZ=GF_G=geQie*8yaI z1ZM@%M)4*4Q?Cy2sSwsmun=q(b^czU5Kb(q4p0WL9(-9EK^92tr-Z;3!v#vP+`77M*@)D5hMUXHCKP$yR!mlW5G*x zKsDs;`gD2mQClGdS)dT%`;BKpAOdK5ajR@l{qgqYP`uNhqUn}sWr1q`zm4nXl>vHE z2>X2F**vnX>jkhkH9*soVafsl*8o0DeiIv{EKtw>s0i-44blTIy3evc96lQOIzd%M zMSc{SNuj%eZkm~`{ z%^Haye9MqQ+zgixxoTT9R1ri`6iglD?RkJa(nsq0-2z<>3Y4X>7?wSP9vs$1F5u{(k7a`=4-`B!7jinF@ zy6nWJgfUuK+gz_Hf{_n4p(yhEPJVzTpFQ64>c;wHJRIeTAjYW9B&YvRB8DU*xH6t) zwkHG(eE;BC+hQt~o1Ps=|BbALaFP7U`wn4MJcw&i@5Rwp}Y{4x4{-}?|t&P>mihMeqQgs#FOFNVuoGd~b zq%zB3BG;mYU|Xl8KT~K?KYPGOH9$c&NHRfL0hMl>EcvtU-i9(N`7U4hS{Jf!kV@Z$KM;7YK^AW##E>m*&RiFiy~MkE|6`vJ{R@ao2)6= zklyq@MEvqOTFU-Vx1!|>AzdHXbk5r9tl7Mde7-V3Z-vkm(pE=3eFvP7OJ@(NoM*;m#! zHK?*c{)xf_k$rv`bk(^K1SbU`2*CO1; z7cIB&z3c^&|Fp8Uc|Y(b4XNM&o&av1jE4`Ft+7-J@yn|lX8~6MJ2b{Z5Aif`$7DRb zHwoUQ`?YLdHM8u#KX5K^5pbZ!T<8HdfxCdaC*$GsRV;j^43ODzcqs63;Qhch&4I80 zya0R~xMeaPK4Tm8YYV_20)V4|Yk*TUAHtk41s(uy2L3P^52-``S^_XwqU75r1J{!| z2_*Hw#Am{GT;!+mCz!dh$H@k$v2ur{#FE#BLaW}fb)S1 zfc-RgLIXSv+yUGNyqG3`8|ziAtaRmw0N^m-65wpK??|YIy`3H4c~jJHO8(XaU?GHK zf$M;GYF>pB?CtCT&$MZGIv0RRnHeGMj0@!>HP1qpI;1)~=^rF^r;DvQoo)6h$OcQm z`+zHeS8Lt{GM$}l)bA3V?sm&*mnPT_d=xkj*jF3~5?eYuU0a^H3cw;80K6W!95{1c z??+fTjGdi%lb?AKu0#X?#{<^_Cx{>3!r0j{5kFl=dLaNy5k$agz?Hxe;)^#hc6JsO z^%o`ple%++un({c_yq7O@yA)@c6JsS^%p9D3fUlCD1SH>h2Rd1ot-{J{ay&bB!&VZ z9L20{db)Vkd*pU@`b7L*37|qoIEmTT>tn>T-l4Fw(+9iLYXO*0QYc>y94_819EF{o zH2M2@*+TCGU|A#sBu6tZ1P&4p=Z@0OPT%Z~QyHLw5Do?|2F^i8Gv_ijlyr7nA%E{J zP=(q6U^%u$r;4MUp|rD;CcX=BV(USLYyh*Pnb)E_jM_wLXQ$7FuJZz@kqrjG8R!n9 zrYP;~xJrB{1z_@%B|^|0M)hFT*>TD1dn16F89{d#*}>^yEueAlDCw*shGBWwdc09;C#M>8LfiT_X)kMB}} z8>9eCD9Hw)-C^W?XGa34o(;hNJB+M5JHFbTU^75PA^3KOk#%P$8}&nYLQqhL&?^eT z^*fBLJ3FC8{a^)Pn&1)`JB+OF*^%9m0D6IfLb=Kv zMx~t{MSKaswOYaE4x_@(j(YeKfU{yq3Bh!SQQ@<(6zL@ZAG5+Jt`7znPGgDq5`fo5 sv#DN44wl>T-3atgG=F$*8&F3ga0Mpss0yd)!6yG+Ag4BhVcIr>sy(4 zMC()o8eTlmZep5p_p|%YIxdIp%Qto|VA%LDoQbuAZ=aHe!%f@!pBtH`@c(=IYscOn zx8l1NFdSYdvYu&Qd${UGG0g)D585kz0Sex2-5>g4`V>b_k%aHHJC{E=KbK=3zsQ0s zo&WokRHh{e{n_`u#x;Op`92|y0~f37T0d0Vap*bR+O>Hr%Sz!yp+DbS>)jsgsb9db z_0aw&i+Oa_dxbn@L$lAFkNx}efy$rUL-$X9-F^1Q-*eIL8aWFJ zeuV$|+8Vw3!S_!a_7>!7e=YZIpU0rwZvRy3`#b+vzLCQJRvp|QBfnjB|Ly;;ZGZg= z&ST>E|Ks%xrZ1L>`(${y1S%(A{`Pl^(40Fl5B<|vh5o(JEGPE4;A#=o z__$@$zXYZQ40?IXNR{#sc7 zy?0$)lj!7+>lo%vO*rWr*i?Ew>1FA=yCy{s;_qDfZ0)@F_^u1i3!nXytB%cQeX)Tf zx_QSop0(Tt&!4Z8`eVd8qj+(ZuH$K@9Nzyg4(f+D*yi1eYmC_tcBhJ`-s!_>u?5qG z&TvL|GjY^AFm8LdK6CxIko%vLxi>rwSsm77`f$C>pA}3?#2;?|u$&~+;7D;^BIbY(>52hSj-fEp@;dsVJT^}B$h8+xV_&$AstKgn_>ltEg(%nH~&14{bCu1r~Paujm8h!4N4sQm?}Kve*D&A@bynt-^X-hn!^uKg-sky z>lr4VXa82i+A)X24@l|)RXhC2QuzT4r9aN-pEIC{aKLI{WlH7^>p=f JS?83{1OV#KzdQf{ literal 0 Hc$@ + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQml.Models 2.2 +import QtQuick.Controls 2.2 +import org.kde.plasma.components 2.0 as PlasmaComponents +import org.kde.plasma.extras 2.0 as PlasmaExtras + +Column { + spacing: 6 + anchors.right: parent.right + property alias mssg: messageText.text + + Rectangle { + id: messageRect + anchors.right: parent.right + implicitWidth: messageText.width + 10 + radius: 2 + height: messageText.implicitHeight + 24 + color: theme.linkColor + + PlasmaComponents.Label { + id: messageText + text: model.InputQuery + anchors.centerIn: parent + wrapMode: Label.Wrap + color: theme.backgroundColor + } + } + } diff --git a/plasmoid/contents/ui/AutocompleteBox.qml b/plasmoid/contents/ui/AutocompleteBox.qml new file mode 100755 --- /dev/null +++ b/plasmoid/contents/ui/AutocompleteBox.qml @@ -0,0 +1,134 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.components 2.0 as PlasmaComponents +import QtGraphicalEffects 1.0 + +Rectangle { + id: container + implicitHeight: units.gridUnit * 4 + color: theme.backgroundColor + border.width: 1 + border.color: Qt.lighter(theme.backgroundColor, 1.2); + property QtObject model: undefined + property int count: filterItem.model.count + property alias suggestionsModel: filterItem.model + property alias filter: filterItem.filter + property alias property: filterItem.property + property alias navView: autoCompListView + signal itemSelected(variant item) + + function filterMatchesLastSuggestion() { + return suggestionsModel.count == 1 && suggestionsModel.get(0).name === filter + } + + visible: filter.length > 0 && suggestionsModel.count > 0 && !filterMatchesLastSuggestion() + + Logic { + id: filterItem + sourceModel: container.model + } + + ListView{ + id: autoCompListView + anchors.fill: parent + model: container.suggestionsModel + verticalLayoutDirection: ListView.BottomToTop + keyNavigationEnabled: true + keyNavigationWraps: true + clip: true + delegate: Item { + id: delegateItem + property bool keyboardSelected: autoCompListView.selectedIndex === suggestion.index + property bool selected: itemMouseArea.containsMouse + property variant suggestion: model + + height: textComponent.height + 5 + width: container.width + + FocusScope{ + anchors.fill:parent + focus: true + + Rectangle{ + id: autdelRect + color: delegateItem.selected ? Qt.darker(theme.textColor, 1.2) : Qt.darker(theme.backgroundColor, 1.2) + width: parent.width + height: textComponent.height + 10 + + Image { + id : smallIconV + source: "../images/mycroftsmaller2.png" + width: units.gridUnit * 2 + height: units.gridUnit * 2 + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 0.35 + + ColorOverlay { + anchors.fill: smallIconV + source: smallIconV + color: Qt.darker(theme.textColor, 1.2); + } + } + + PlasmaCore.SvgItem { + id: innerDelegateRectDividerLine + anchors { + left: smallIconV.right + leftMargin: units.gridUnit * 0.35 + top: parent.top + topMargin: 0 + bottom: parent.bottom + bottomMargin: 0 + } + width: lineitemdividerSvg.elementSize("vertical-line").width + z: 110 + elementId: "vertical-line" + + svg: PlasmaCore.Svg { + id: lineitemdividerSvg; + imagePath: "widgets/line" + } + } + + Text { + id: textComponent + anchors.left: innerDelegateRectDividerLine.right + anchors.leftMargin: units.gridUnit * 0.35 + color: delegateItem.selected ? Qt.darker(theme.backgroundColor, 1.2) : Qt.darker(theme.textColor, 1.2) + text: model.name; + width: parent.width - 4 + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + } + + MouseArea { + id: itemMouseArea + anchors.fill: parent + hoverEnabled: true + onClicked: container.itemSelected(delegateItem.suggestion) + } + + PlasmaCore.SvgItem { + anchors { + left: parent.left + right: parent.right + bottom: parent.bottom + } + width: 1 + height: horlineAutoCSvg.elementSize("horizontal-line").height + + elementId: "horizontal-line" + z: 110 + svg: PlasmaCore.Svg { + id: horlineAutoCSvg; + imagePath: "widgets/line" + } + } + } + } + } + ScrollBar.vertical: ScrollBar { } + } +} diff --git a/plasmoid/contents/ui/CurrentWeatherType.qml b/plasmoid/contents/ui/CurrentWeatherType.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/CurrentWeatherType.qml +++ b/plasmoid/contents/ui/CurrentWeatherType.qml @@ -1,7 +1,26 @@ -import QtQuick 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Layouts 1.3 -import QtQuick.Controls 2.0 +import QtQuick.Controls 2.2 import QtQml.Models 2.2 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.plasmoid 2.0 diff --git a/plasmoid/contents/ui/CustomIndicator.qml b/plasmoid/contents/ui/CustomIndicator.qml new file mode 100755 --- /dev/null +++ b/plasmoid/contents/ui/CustomIndicator.qml @@ -0,0 +1,152 @@ + +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 +import QtGraphicalEffects 1.0 + +Item{ + id: customIndicatorBusy + anchors.centerIn: parent + property alias cstanim: customIndicatorBusy + property bool running: false + visible: false + + Item { + implicitWidth: units.gridUnit * 3 + implicitHeight: units.gridUnit * 3 + + Rectangle { + id: antiinnerCircleOutVert + anchors.centerIn: parent + color: "skyblue" + radius: 8 + implicitWidth: units.gridUnit * 1.2 + implicitHeight: units.gridUnit * 1.2 + } + + Rectangle { + id: innerCircleOutHoriz + anchors.centerIn: parent + color: "steelblue" + radius: 5 + implicitWidth: units.gridUnit * 2.2 + implicitHeight: units.gridUnit * 1.2 + } + + Rectangle { + id: innerCircleOutVert + anchors.centerIn: parent + color: "steelblue" + radius: 5 + implicitWidth: units.gridUnit * 1.2 + implicitHeight: units.gridUnit * 2.2 + } + + Rectangle { + id: innerCircleIn + anchors.centerIn: parent + color: "lightblue" + border.color: "steelblue" + border.width: units.gridUnit * 0.2 + radius: 100 + implicitWidth: units.gridUnit * 1.7 + implicitHeight: units.gridUnit * 1.7 + + Image { + id: innerPulser + source: "../images/midanim.png" + anchors.centerIn: parent + height: units.gridUnit * 3.0 + width: units.gridUnit * 3.0 + } + + ColorOverlay { + anchors.fill: innerPulser + source: innerPulser + color: "steelblue" + } + } + + RotationAnimator { + target: innerCircleOutHoriz + running: customIndicatorBusy.running + from: 0 + to: 360 + loops: Animation.Infinite + duration: 6000 + } + + ScaleAnimator { + target: innerCircleOutHoriz + running: customIndicatorBusy.running + from: 1.1 + to: 0.5 + duration: 1200 + loops: Animation.Infinite + } + + RotationAnimator { + target: innerCircleOutVert + running: customIndicatorBusy.running + from: 0 + to: 360 + loops: Animation.Infinite + duration: 6000 + } + + RotationAnimator { + target: antiinnerCircleOutVert + running: customIndicatorBusy.running + from: 360 + to: 0 + loops: Animation.Infinite + duration: 6000 + } + + ScaleAnimator { + target: innerCircleOutVert + running: customIndicatorBusy.running + from: 1.1 + to: 0.5 + duration: 1200 + loops: Animation.Infinite + } + + ScaleAnimator { + target: antiinnerCircleOutVert + running: customIndicatorBusy.running + from: 0.5 + to: 1.3 + duration: 1200 + loops: Animation.Infinite + } + + ScaleAnimator { + target: innerCircleIn + running: customIndicatorBusy.running + from: 1 + to: 0.7 + duration: 1200 + loops: Animation.Infinite + } + } + } diff --git a/plasmoid/contents/ui/Disclaimer.qml b/plasmoid/contents/ui/Disclaimer.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/Disclaimer.qml +++ b/plasmoid/contents/ui/Disclaimer.qml @@ -1,4 +1,23 @@ -import QtQuick 2.7 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.extras 2.0 as PlasmaExtras diff --git a/plasmoid/contents/ui/ImgRecogType.qml b/plasmoid/contents/ui/ImgRecogType.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/ImgRecogType.qml +++ b/plasmoid/contents/ui/ImgRecogType.qml @@ -1,5 +1,24 @@ -import QtQuick 2.0 -import QtQuick.Controls 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQuick.Controls 2.2 Column { id: colmsg diff --git a/plasmoid/contents/ui/LeftBarAnim.qml b/plasmoid/contents/ui/LeftBarAnim.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/LeftBarAnim.qml +++ b/plasmoid/contents/ui/LeftBarAnim.qml @@ -1,13 +1,30 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQuick.Controls 2.2 import QtQuick.Layouts 1.3 Item { +property bool wsocketMsg: false - //anchors.fill: parent - - property bool wsocketMsg: false - function wsocmsganimtoggle() { onreadyanim.running = true; } +function wsocmsganimtoggle() { onreadyanim.running = true; } SequentialAnimation { id: onconanim @@ -224,19 +241,19 @@ duration: 600 } - RotationAnimator { - target: canvascenterbiggraphic; - from: 0; - to: 720; - duration: 2000 - } - - RotationAnimator { - target: canvascenterbggraphic; - from: 0; - to: 90; - duration: 1000 - } +// RotationAnimator { +// target: canvascenterbiggraphic; +// from: 0; +// to: 720; +// duration: 2000 +// } +// +// RotationAnimator { +// target: canvascenterbggraphic; +// from: 0; +// to: 90; +// duration: 1000 +// } } ParallelAnimation{ @@ -263,12 +280,12 @@ duration: 600 } - RotationAnimator { - target: canvascenterbggraphic; - from: 90; - to: 0; - duration: 1000 - } +// RotationAnimator { +// target: canvascenterbggraphic; +// from: 90; +// to: 0; +// duration: 1000 +// } } } diff --git a/plasmoid/contents/ui/Logic.qml b/plasmoid/contents/ui/Logic.qml new file mode 100755 --- /dev/null +++ b/plasmoid/contents/ui/Logic.qml @@ -0,0 +1,59 @@ +import QtQuick 2.7 + +Item { + id: component + property alias model: filterModel + + property QtObject sourceModel: undefined + property string filter: "" + property string property: "" + + Connections { + onFilterChanged: invalidateFilter() + onPropertyChanged: invalidateFilter() + onSourceModelChanged: invalidateFilter() + } + + Component.onCompleted: invalidateFilter() + + ListModel { + id: filterModel + } + + function invalidateFilter() { + if (sourceModel === undefined) + return; + + filterModel.clear(); + + if (!isFilteringPropertyOk()) + return + + var length = sourceModel.count + for (var i = 0; i < length; ++i) { + var item = sourceModel.get(i); + if (isAcceptedItem(item)) { + filterModel.append(item) + } + } + } + + function isAcceptedItem(item) { + if (item[this.property] === undefined) + return false + + if (item[this.property].match(this.filter) === null) { + return false + } + + return true + } + + function isFilteringPropertyOk() { + if(this.property === undefined || this.property === "") { + return false + } + return true + } +} + diff --git a/plasmoid/contents/ui/MsmView.qml b/plasmoid/contents/ui/MsmView.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/MsmView.qml +++ b/plasmoid/contents/ui/MsmView.qml @@ -1,7 +1,25 @@ -import QtQuick 2.0 -import QtQuick.Layouts 1.0 -import QtQuick.Controls 2.0 -import QtQuick.Controls.Styles 1.4 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQuick.Layouts 1.3 +import QtQuick.Controls 2.2 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.components 2.0 as PlasmaComponents @@ -12,108 +30,134 @@ Rectangle { id: skillcontent Layout.fillWidth: true; - anchors { left: parent.left; right: parent.right } - height: 60 - border.width: 0 - border.color: "lightsteelblue" - radius: 2 - color: theme.backgroundColor - - PlasmaLa.MsmApp{ - id: launchinstaller - } - - Component.onCompleted: { - getSkillInfoLocal() - msmSkillInstallProgBar.visible = false; - } - - function getSkillInfoLocal() { - var customFold = '/opt/mycroft/skills/' - var skillPath = customFold + model.name +'/__init__.py' - if(PlasmaLa.FileReader.file_exists_local(skillPath)){ - //msminstllbtn.visible = false - instlabel.color = "Green" - instlabel.text = "Installed" - } - else { - instlabel.text = "Not Installed" - } + anchors { + left: parent.left; + leftMargin: 0.5; + right: parent.right + } + height: units.gridUnit * 4 + border.width: 1 + border.color: Qt.darker(theme.linkColor, 1.2) + color: Qt.darker(theme.backgroundColor, 1.2) function exec(msmparam) { var bscrpt = "/usr/share/plasma/plasmoids/org.kde.plasma.mycroftplasmoid/contents/code/msm.sh" return launchinstaller.msmapp("bash " + bscrpt + " install " + model.url) } - Column { - id: skillcolumn - width: parent.width / 80 - - PlasmaComponents.Label { - font.capitalization: Font.AllUppercase - wrapMode: Text.WordWrap - text: model.name + PlasmaLa.MsmApp{ + id: launchinstaller } - PlasmaComponents.Label { - font.pointSize: 8 - wrapMode: Text.WordWrap - width: units.gridUnit * 14 - text: model.url - } + Component.onCompleted: { + msmSkillInstallProgBar.visible = false; } PlasmaComponents.Label { - id: instlabel - font.pointSize: 8 - wrapMode: Text.WordWrap - anchors.right: msminstllbtn.left - anchors.rightMargin: 5 - text: "" + id: skllname + font.capitalization: Font.AllUppercase + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 0.5 + anchors.right: parent.right + anchors.rightMargin: units.gridUnit * 0.5 + wrapMode: Text.WordWrap + text: model.name + Rectangle { + id: sepratrmsm + width: parent.width + height: 1 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.bottomMargin: 2 + color: Qt.darker(theme.linkColor, 1.2) + } } - - PlasmaComponents.ToolButton { + + PlasmaComponents.Label { + id: urlskllable + anchors.top: skllname.bottom + anchors.topMargin: units.gridUnit * 0.03 + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 0.5 anchors.right: parent.right - id: msminstllbtn - visible: true - iconSource: "download" - flat: true - checked: false - focus: false - width: Math.round(units.gridUnit * 2) - height: width + anchors.rightMargin: units.gridUnit * 0.5 + wrapMode: Text.WordWrap + color: theme.textColor + text: model.url - onClicked: { - console.log(model.url) - var msmprogress = exec() - var getcurrentprogress = msmprogress.split("\n") - console.log(getcurrentprogress); - if(getcurrentprogress.indexOf("Cloning repository") != -1) - { - msmSkillInstallProgBar.visible = true; - msmSkillInstallProgBar.indeterminate = true; - } - if(getcurrentprogress.indexOf("Skill installed!") != -1) - { - msmSkillInstallProgBar.indeterminate = false; - msmSkillInstallProgBar.value = 100; - instlabel.color = "Green" - instlabel.text = "Installed" - } + MouseArea{ + id: gotoGit + anchors.fill: parent + hoverEnabled: true + onClicked: {Qt.openUrlExternally(model.url)} + onEntered: { + urlskllable.color = Qt.darker(theme.linkColor, 1.2) + } + onExited: { + urlskllable.color = theme.textColor } - } - PlasmaComponents.ProgressBar { - anchors.right: parent.right - anchors.rightMargin: units.gridUnit * 1 - anchors.bottom: parent.bottom - width: units.gridUnit * 4 - id: msmSkillInstallProgBar - visible: false - indeterminate: false - } - } + + Rectangle { + id: getskillviamsmRect + width: parent.width + height: units.gridUnit * 1 + anchors.bottom: parent.bottom + color: Qt.darker(theme.linkColor, 1.2) + + PlasmaComponents.Label{ + id: installLabl + wrapMode: Text.WordWrap + anchors.centerIn: parent + text: "Install" + color: Qt.darker(theme.backgroundColor, 1.2) + } + + PlasmaComponents.ProgressBar { + anchors.centerIn: parent + width: parent.width / 1.2 + id: msmSkillInstallProgBar + visible: false + indeterminate: false + } + + MouseArea { + anchors.fill: parent + hoverEnabled: true + onEntered: { + getskillviamsmRect.color = Qt.lighter(theme.backgroundColor, 1.2) + installLabl.color = Qt.darker(theme.linkColor, 1.2) + getskillviamsmRect.border.width = 1 + getskillviamsmRect.border.color = Qt.darker(theme.linkColor, 1.2) + } + onExited: { + getskillviamsmRect.color = Qt.darker(theme.linkColor, 1.2) + installLabl.color = Qt.darker(theme.backgroundColor, 1.2) + getskillviamsmRect.border.width = 0 + } + onClicked: { + console.log(model.url) + var msmprogress = exec() + var getcurrentprogress = msmprogress.split("\n") + console.log(getcurrentprogress); + if(getcurrentprogress.indexOf("Cloning repository") != -1) + { + installLabl.visible = false + msmSkillInstallProgBar.visible = true; + msmSkillInstallProgBar.indeterminate = true; + } + if(getcurrentprogress.indexOf("Skill installed!") != -1) + { + msmSkillInstallProgBar.visible = false + installLabl.visible = true + installLabl.text = "Installed" + } + } + } + } + } diff --git a/plasmoid/contents/ui/SimpleMessageType.qml b/plasmoid/contents/ui/SimpleMessageType.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/SimpleMessageType.qml +++ b/plasmoid/contents/ui/SimpleMessageType.qml @@ -1,6 +1,25 @@ -import QtQuick 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 import QtQml.Models 2.2 -import QtQuick.Controls 2.0 +import QtQuick.Controls 2.2 import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.extras 2.0 as PlasmaExtras @@ -14,13 +33,20 @@ Row { id: messageRow spacing: 6 - + + Image { + id: repImg + width: units.gridUnit * 2 + height: units.gridUnit * 2 + source: "../images/mycroftsmaller2.png" + } + Rectangle { id: messageRect - width: cbwidth + width: cbwidth - units.gridUnit * 2 radius: 2 height: messageText.implicitHeight + 24 - color: theme.backgroundColor + color: Qt.lighter(theme.backgroundColor, 1.2) PlasmaComponents.Label { id: messageText diff --git a/plasmoid/contents/ui/SkillModel.qml b/plasmoid/contents/ui/SkillModel.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/SkillModel.qml +++ b/plasmoid/contents/ui/SkillModel.qml @@ -1,4 +1,24 @@ -import QtQuick 2.0 + +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 ListModel { id: skillshintmodel diff --git a/plasmoid/contents/ui/StockPriceWidget.qml b/plasmoid/contents/ui/StockPriceWidget.qml old mode 100644 new mode 100755 diff --git a/plasmoid/contents/ui/Suggestions.qml b/plasmoid/contents/ui/Suggestions.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/Suggestions.qml +++ b/plasmoid/contents/ui/Suggestions.qml @@ -1,7 +1,28 @@ -import QtQuick 2.0 -import QtQuick.Controls 2.0 -import org.kde.plasma.components 2.0 as PlasmaComponents +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 +import QtQuick.Controls 2.2 import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.plasmoid 2.0 +import org.kde.plasma.components 2.0 as PlasmaComponents +import org.kde.plasma.extras 2.0 as PlasmaExtras Rectangle { id: suggestionsmainitem @@ -23,6 +44,15 @@ anchors.left: parent.left anchors.leftMargin: 0 width: suggestionsmainitem.width / 3 + + PlasmaCore.IconItem { + id: suggest1imageicon + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 0.5 + source: "set-language" + width: units.gridUnit * 2 + height: units.gridUnit * 2 + } MouseArea { id: mouseArea1 @@ -40,15 +70,20 @@ } onClicked: { - var suggest1 = qinput.text - var lastIndex = suggest1.lastIndexOf(" "); - qinput.text = suggest1.substring(0, lastIndex) + " " + suggestiontext1.text + " " + //var suggest1 = qinput.text + //var lastIndex = suggest1.lastIndexOf(" "); + //qinput.text = suggest1.substring(0, lastIndex) + " " + suggestiontext1.text + " " + var socketmessage = {}; + socketmessage.type = "recognizer_loop:utterance"; + socketmessage.data = {}; + socketmessage.data.utterances = [qinput.text]; + socket.sendTextMessage(JSON.stringify(socketmessage)); } } PlasmaComponents.Label { id: suggestiontext1 - text: i18n("") + text: i18n("Ask Another") anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter font.pixelSize: 12 @@ -89,6 +124,15 @@ anchors.left: suggestbarDividerline1.right anchors.leftMargin: 0 border.color: theme.textColor + + PlasmaCore.IconItem { + id: suggest2imageicon + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 1.3 + source: "gtk-stop" + width: units.gridUnit * 2 + height: units.gridUnit * 2 + } MouseArea { id: mouseArea2 @@ -106,15 +150,17 @@ } onClicked: { - var suggest2 = qinput.text - var lastIndex = suggest2.lastIndexOf(" "); - qinput.text = suggest2.substring(0, lastIndex) + " " + suggestiontext2.text + " " + var socketmessage = {}; + socketmessage.type = "recognizer_loop:utterance"; + socketmessage.data = {}; + socketmessage.data.utterances = ["stop"]; + socket.sendTextMessage(JSON.stringify(socketmessage)); } } PlasmaComponents.Label { id: suggestiontext2 - text: i18n("") + text: i18n("Stop") anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter font.pixelSize: 12 @@ -125,7 +171,6 @@ id: suggestbarDividerline2 anchors { right: suggestionbutton3.left - //rightMargin: units.gridUnit * 0.25 top: parent.top topMargin: 0 bottom: parent.bottom @@ -154,6 +199,15 @@ anchors.rightMargin: 0 border.width: 0.2 width: parent.width / 3 + + PlasmaCore.IconItem { + id: suggest3imageicon + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 1.3 + source: "code-function" + width: units.gridUnit * 2 + height: units.gridUnit * 2 + } MouseArea { id: mouseArea3 @@ -171,15 +225,13 @@ } onClicked: { - var suggest3 = qinput.text - var lastIndex = suggest3.lastIndexOf(" "); - qinput.text = suggest3.substring(0, lastIndex) + " " + suggestiontext3.text + " " + convoLmodel.clear() } } PlasmaComponents.Label { id: suggestiontext3 - text: i18n("") + text: i18n("Clear") anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter font.pixelSize: 12 diff --git a/plasmoid/contents/ui/SwitchButton.qml b/plasmoid/contents/ui/SwitchButton.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/SwitchButton.qml +++ b/plasmoid/contents/ui/SwitchButton.qml @@ -1,4 +1,23 @@ -import QtQuick 2.7 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 import QtQuick.Templates 2.0 as T import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents diff --git a/plasmoid/contents/ui/TomorrowWeatherType.qml b/plasmoid/contents/ui/TomorrowWeatherType.qml old mode 100644 new mode 100755 diff --git a/plasmoid/contents/ui/TopBarAnim.qml b/plasmoid/contents/ui/TopBarAnim.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/TopBarAnim.qml +++ b/plasmoid/contents/ui/TopBarAnim.qml @@ -1,4 +1,23 @@ -import QtQuick 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 Item { @@ -185,7 +204,7 @@ ctxside.lineWidth = 1; ctxside.strokeStyle = 'steelblue'; - for(var Vx = oStartx; Vx < width * 0.8; Vx++) { + for(var Vx = oStartx; Vx < width * 0.95; Vx++) { var Vy = amplitude * Math.sin( Vx / period + ( i / 5 + Math.floor(Math.random() * 2) + 0)); ctxside.lineTo( oStartx + Vx, oStarty + Vy); diff --git a/plasmoid/contents/ui/WebViewType.qml b/plasmoid/contents/ui/WebViewType.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/WebViewType.qml +++ b/plasmoid/contents/ui/WebViewType.qml @@ -1,6 +1,25 @@ -import QtQuick 2.0 +/* Copyright 2016 Aditya Mehra + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) version 3, or any + later version accepted by the membership of KDE e.V. (or its + successor approved by the membership of KDE e.V.), which shall + act as a proxy defined in Section 6 of version 3 of the license. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . +*/ + +import QtQuick 2.9 import QtQml.Models 2.2 -import QtQuick.Controls 2.0 +import QtQuick.Controls 2.2 import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.extras 2.0 as PlasmaExtras import org.kde.private.mycroftplasmoid 1.0 as PlasmaLa diff --git a/plasmoid/contents/ui/main.qml b/plasmoid/contents/ui/main.qml old mode 100644 new mode 100755 --- a/plasmoid/contents/ui/main.qml +++ b/plasmoid/contents/ui/main.qml @@ -17,12 +17,11 @@ License along with this library. If not, see . */ -import QtQuick 2.0 +import QtQuick 2.9 import QtQml.Models 2.2 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 import Qt.WebSockets 1.0 -import QtQuick.Controls.Styles 1.4 import Qt.labs.settings 1.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.plasmoid 2.0 @@ -38,8 +37,8 @@ Plasmoid.toolTipMainText: i18n("Mycroft") Plasmoid.switchWidth: units.gridUnit * 15 Plasmoid.switchHeight: units.gridUnit * 15 - Layout.minimumHeight: units.gridUnit * 22 - Layout.minimumWidth: units.gridUnit * 24 + Layout.minimumHeight: units.gridUnit * 24 + Layout.minimumWidth: units.gridUnit * 26 Component.onCompleted: { mycroftStatusCheckSocket.active = true @@ -62,6 +61,29 @@ property variant results: [] property var smintent property var dataContent + property alias autoCompModel: completionItems + property alias textInput: qinput + + Connections { + target: main2 + onSendShowMycroft: { + console.log("senttorootbydbus"); + plasmoid.expanded = !plasmoid.expanded + tabBar.currentTab = mycroftTab + } + onSendShowSkills: { + tabBar.currentTab = mycroftSkillsTab + if(plasmoid.expanded = !plasmoid.expanded){ + plasmoid.expanded + } + } + onSendShowSkillsInstaller: { + tabBar.currentTab = mycroftMSMinstTab + if(plasmoid.expanded = !plasmoid.expanded){ + plasmoid.expanded + } + } + } function retryConn(){ socket.active = true @@ -167,26 +189,7 @@ var ext = filePath.split('.').pop(); return ext === "jpg" || ext === "png" || ext === "jpeg" || ext === 'mp3' || ext === 'wav' || ext === 'mp4' } - - function getTermsForSearchString(searchString) { - searchString = searchString.replace(/^\s+/g, '').replace(/\s+$/g, ''); - if (searchString === '') { - return []; - } - - var interms = searchString.split(/\s+/); - quicksearch(interms) - } - - function wordIndex(){ - //var diclocation = '/usr/share/dict/' - //var path = diclocation + 'words'; - //var searchlist = readFile(path); - //searchIndex = searchlist.toString().split('\n'); - //searchIndex = searchIndex.filter(Boolean); - searchIndex = ["Apache","Autoresponder","BitTorrent","Blog","Bookmark","Bot","Broadband","Captcha","Certificate","Client","Cloud","Cloud Computing","CMS","Cookie","CSS","Cyberspace","Denial of Service","Define","Earth","Facebook","Firefox","Firewall","FTP","Gateway","Google","Google Drive","Gopher","Hashtag","Hit","Home Page","Joke", "Japan", "Inbox","Internet","IP","IP Address","Moon","Meta Tag","Mars","Wallpaper","Mercury","Youtube","Alarm","Pi","News","Time","Distance","Weather","Song","Search Engine","Social Networking","Socket","Spam","Spider","Spoofing","SSH","SSL","Static Website","Twitter", "Venus","XHTML"]; - } - + function readFile(filename) { if (PlasmaLa.FileReader.file_exists_local(filename)) { try { @@ -200,45 +203,38 @@ return 0; } } - - function quicksearch(inputvalue){ - var inputTerms = inputvalue - var results = []; - var termsArray = inputTerms - var prefix = termsArray; - var terms = termsArray[termsArray.length -1]; - - for (var i = 0; i < searchIndex.length; i++) { - var a = searchIndex[i].toLowerCase(), - t = a.indexOf(terms); - - if (t > -1) { - results.push(a); - } - } - evaluateResults(results, inputTerms, terms); - } - - function evaluateResults(intresult, intinterms, intterms) { - var results = intresult - var inputTerms = intinterms - var terms = intterms - if (results.length > 0 && inputTerms.length > 0 && terms.length !== 0) { - if (results.length > 1) { - suggst.suggest1 = results[0]; - suggst.suggest2 = results[1]; - suggst.suggest3 = results[2]; + + function playwaitanim(recoginit){ + switch(recoginit){ //"mycroft.skill.handler.start": + case "recognizer_loop:record_begin": + drawer.open() + waitanimoutter.cstanim.visible = true + waitanimoutter.cstanim.running = true + break + case "recognizer_loop:audio_output_start": + drawer.close() + waitanimoutter.cstanim.visible = false + waitanimoutter.cstanim.running = false + break + } + } + + function autoAppend(model, getinputstring, setinputstring) { + for(var i = 0; i < model.count; ++i) + if (getinputstring(model.get(i))){ + console.log(model.get(i)) + return true + } + return null } - else { - //Should not show undefined - } - } - else if (inputTerms.length > 0 && terms.length !== 0) { - //Should show no results - } + + function evalAutoLogic() { + if (suggestionsBox.currentIndex === -1) { + } else { + suggestionsBox.complete(suggestionsBox.currentItem) + } } - Timer { id: timer } @@ -265,28 +261,47 @@ } -Rectangle { +Item { id: topBarBGrect anchors.fill: parent - color: Qt.darker(theme.backgroundColor, 1.8) z: 101 - + +Image { + id: barAnim + anchors.left: parent.left + anchors.leftMargin: units.gridUnit * 0.1 + anchors.verticalCenter: parent.verticalCenter + source: "../images/mycroftsmaller.png" + width: units.gridUnit * 1.6 + height: units.gridUnit * 1.6 + } -LeftBarAnim { - id: barAnim - anchors.left: parent.left - anchors.leftMargin: -units.gridUnit * 1 - anchors.verticalCenter: parent.verticalCenter - z: 6 - transformOrigin: Item.Center - width: units.gridUnit * 4 - height: units.gridUnit * 4 -} + PlasmaCore.SvgItem { + id: topbarLeftDividerline + anchors { + left: barAnim.right + leftMargin: units.gridUnit * 0.35 + top: parent.top + topMargin: 0 + bottom: parent.bottom + bottomMargin: 0 + } + + width: linetopleftvertSvg.elementSize("vertical-line").width + z: 110 + elementId: "vertical-line" + + svg: PlasmaCore.Svg { + id: linetopleftvertSvg; + imagePath: "widgets/line" + } + } + PlasmaComponents.Label { anchors.top: parent.top anchors.topMargin: 4 - anchors.left: barAnim.right + anchors.left: topbarLeftDividerline.right anchors.leftMargin: 2 id: statusId text: i18n("Mycroft is disabled") @@ -300,7 +315,6 @@ anchors.verticalCenter: parent.verticalCenter anchors.left: statusId.left anchors.right: topbarDividerline.left - //width: units.gridUnit * 4 height: units.gridUnit * 4 z: 6 } @@ -331,17 +345,12 @@ anchors.right: qinputmicbx.left anchors.verticalCenter: topBarBGrect.verticalCenter id: mycroftstartservicebutton - //iconSource: "media-playback-start" - //tooltip: i18n("Start Mycroft") - //flat: true checked: false - //focus: false width: Math.round(units.gridUnit * 2) height: width z: 102 onClicked: { - //mycroftstartservicebutton.checked = !mycroftstartservicebutton.checked if (mycroftstartservicebutton.checked === false) { PlasmaLa.LaunchApp.runCommand("bash", coreinstallstoppath); convoLmodel.clear() @@ -432,11 +441,8 @@ WebSocket { id: mycroftStatusCheckSocket url: innerset.wsurl - onTextMessageReceived: { - //console.log("Mycroft Status Ping"); - } - active: true - onStatusChanged: + active: true + onStatusChanged: if (mycroftStatusCheckSocket.status == WebSocket.Open && socket.status == WebSocket.Closed) { console.log("Activated") socket.active = true @@ -455,17 +461,19 @@ } } - WebSocket { + WebSocket { id: socket url: innerset.wsurl onTextMessageReceived: { var somestring = JSON.parse(message) var msgType = somestring.type; + playwaitanim(msgType); qinput.focus = false; if (msgType === "recognizer_loop:utterance") { var intpost = somestring.data.utterances; qinput.text = intpost.toString() + convoLmodel.append({"itemType": "AskType", "InputQuery": intpost.toString()}) midbarAnim.wsistalking() } @@ -489,7 +497,7 @@ var notiftext = " "+ post; PlasmaLa.Notify.mycroftResponse(title, notiftext); } - barAnim.wsocmsganimtoggle() + midbarAnim.wsistalking() } @@ -499,21 +507,17 @@ mycroftstartservicebutton.circolour = "red" console.log(socket.errorString) retryConn() - barAnim.wsocmsganimtoggle() midbarAnim.showstatsId() } else if (socket.status == WebSocket.Open) { statusId.text = "Mycroft is Ready" statusId.color = "green" mycroftstartservicebutton.circolour = "green" - barAnim.wsocmsganimtoggle() - //midbarAnim.topanimrun = false; mycroftStatusCheckSocket.active = false; midbarAnim.showstatsId() } else if (socket.status == WebSocket.Closed) { statusId.text = "Mycroft is Disabled" statusId.color = "#f4bf42" mycroftstartservicebutton.circolour = Qt.lighter(theme.backgroundColor, 1.5) - barAnim.wsocmsganimtoggle() midbarAnim.showstatsId() } else if (socket.status == WebSocket.Connecting) { statusId.text = "Starting Up" @@ -525,7 +529,6 @@ statusId.color = "grey" midbarAnim.showstatsId() } - //active: false; } ColumnLayout { @@ -618,550 +621,546 @@ } } -ColumnLayout { -id: mycroftcolumntab -visible: tabBar.currentTab == mycroftTab; -anchors.top: root.top -anchors.left: sidebar.right -anchors.leftMargin: units.gridUnit * 0.25 -anchors.right: root.right -anchors.bottom: root.bottom + ColumnLayout { + id: mycroftcolumntab + visible: tabBar.currentTab == mycroftTab; + anchors.top: root.top + anchors.left: sidebar.right + anchors.leftMargin: units.gridUnit * 0.25 + anchors.right: root.right + anchors.bottom: root.bottom - Rectangle { - id: rectangle2 - color: "#00000000" - anchors.top: mycroftcolumntab.top - anchors.topMargin:15 - anchors.left: mycroftcolumntab.left - anchors.right: mycroftcolumntab.right - anchors.bottom: mycroftcolumntab.bottom - -DropArea { - anchors.fill: parent; - id: dragTarget - onEntered: { - for(var i = 0; i < drag.urls.length; i++) - if(validateFileExtension(drag.urls[i])) - return - console.log("No valid files, refusing drag event") - drag.accept() - dragTarget.enabled = false - } - - onDropped: { - for(var i = 0; i < drop.urls.length; i++){ - var ext = getFileExtenion(drop.urls[i]); - if(ext === "jpg" || ext === "png" || ext === "jpeg"){ - var durl = String(drop.urls[i]); - console.log(durl) - convoLmodel.append({ - "itemType": "DropImg", - "InputQuery": durl - }) - inputlistView.positionViewAtEnd(); + Rectangle { + id: rectangle2 + color: "#00000000" + anchors.top: mycroftcolumntab.top + anchors.topMargin:15 + anchors.left: mycroftcolumntab.left + anchors.right: mycroftcolumntab.right + anchors.bottom: mycroftcolumntab.bottom + + DropArea { + anchors.fill: parent; + id: dragTarget + onEntered: { + for(var i = 0; i < drag.urls.length; i++) + if(validateFileExtension(drag.urls[i])) + return + console.log("No valid files, refusing drag event") + drag.accept() + dragTarget.enabled = false + } + + onDropped: { + for(var i = 0; i < drop.urls.length; i++){ + var ext = getFileExtenion(drop.urls[i]); + if(ext === "jpg" || ext === "png" || ext === "jpeg"){ + var durl = String(drop.urls[i]); + console.log(durl) + convoLmodel.append({ + "itemType": "DropImg", + "InputQuery": durl + }) + inputlistView.positionViewAtEnd(); - var irecogmsgsend = innerset.customrecog - var socketmessage = {}; - socketmessage.type = "recognizer_loop:utterance"; - socketmessage.data = {}; - socketmessage.data.utterances = [irecogmsgsend + " " + durl]; - socket.sendTextMessage(JSON.stringify(socketmessage)); - console.log(irecogmsgsend + " " + durl); + var irecogmsgsend = innerset.customrecog + var socketmessage = {}; + socketmessage.type = "recognizer_loop:utterance"; + socketmessage.data = {}; + socketmessage.data.utterances = [irecogmsgsend + " " + durl]; + socket.sendTextMessage(JSON.stringify(socketmessage)); + console.log(irecogmsgsend + " " + durl); + } + + if(ext === 'mp3'){ + console.log('mp3'); + } } + } + - if(ext === 'mp3'){ - console.log('mp3'); + Disclaimer{ + id: disclaimbox + visible: true } + + ListModel{ + id: convoLmodel } - } - - - Disclaimer{ - id: disclaimbox - visible: true - } - - ListModel{ - id: convoLmodel - } - Rectangle { - id: messageBox - anchors.fill: parent - anchors.right: rectangle2.right - anchors.left: rectangle2.left - color: "#00000000" - - ColumnLayout { - id: colconvo + Rectangle { + id: messageBox anchors.fill: parent + anchors.right: rectangle2.right + anchors.left: rectangle2.left + color: "#00000000" - ListView { - id: inputlistView - Layout.fillWidth: true - Layout.fillHeight: true - verticalLayoutDirection: ListView.TopToBottom - spacing: 12 - model: convoLmodel - ScrollBar.vertical: ScrollBar {} - delegate: Component { - Loader { - source: switch(itemType) { - case "NonVisual": return "SimpleMessageType.qml" - case "WebViewType": return "WebViewType.qml" - case "CurrentWeather": return "CurrentWeatherType.qml" - case "DropImg" : return "ImgRecogType.qml" - } - property var metacontent : dataContent - } - } + ColumnLayout { + id: colconvo + anchors.fill: parent - onCountChanged: { - inputlistView.positionViewAtEnd(); - } + ListView { + id: inputlistView + Layout.fillWidth: true + Layout.fillHeight: true + verticalLayoutDirection: ListView.TopToBottom + spacing: 12 + clip: true + model: convoLmodel + ScrollBar.vertical: ScrollBar {} + delegate: Component { + Loader { + source: switch(itemType) { + case "NonVisual": return "SimpleMessageType.qml" + case "WebViewType": return "WebViewType.qml" + case "CurrentWeather": return "CurrentWeatherType.qml" + case "DropImg" : return "ImgRecogType.qml" + case "AskType" : return "AskMessageType.qml" + } + property var metacontent : dataContent + } + } + + onCountChanged: { + inputlistView.positionViewAtEnd(); } } } } } } + } -ColumnLayout { -id: mycroftSkillscolumntab -visible: tabBar.currentTab == mycroftSkillsTab; -anchors.top: root.top -anchors.left: sidebar.right -anchors.leftMargin: units.gridUnit * 0.25 -anchors.right: root.right -anchors.bottom: root.bottom + ColumnLayout { + id: mycroftSkillscolumntab + visible: tabBar.currentTab == mycroftSkillsTab; + anchors.top: root.top + anchors.left: sidebar.right + anchors.leftMargin: units.gridUnit * 0.25 + anchors.right: root.right + anchors.bottom: root.bottom -Rectangle { - anchors.top: mycroftSkillscolumntab.top - anchors.left: mycroftSkillscolumntab.left - anchors.right: mycroftSkillscolumntab.right - id: skillsrectmain - color: "#00000000" - - Component { - id: skillDelegate - Rectangle { - id: skillcontent - Layout.fillWidth: true; - anchors { left: parent.left; right: parent.right } - height: 80 - border.width: 0 - border.color: "lightsteelblue" - radius: 2 - color: theme.backgroundColor - z: -99 - - RowLayout { - id: skillTopRowLayout - spacing: 5 - anchors.fill: parent - - PlasmaComponents.Label { - id: innerskllname - anchors.top: parent.top - anchors.topMargin: 2 - anchors.left: parent.left - anchors.right: parent.right - wrapMode: Text.WordWrap; - font.bold: true; - text: i18n('Skill:' + Skill) - } - + Rectangle { + anchors.top: mycroftSkillscolumntab.top + anchors.left: mycroftSkillscolumntab.left + anchors.right: mycroftSkillscolumntab.right + id: skillsrectmain + color: "#00000000" + + Component { + id: skillDelegate Rectangle { - id: skilltipsimage - anchors.left: parent.left - anchors.top: innerskllname.bottom - anchors.bottom: parent.bottom - width: units.gridUnit * 1.2 + id: skillcontent + Layout.fillWidth: true; + anchors { left: parent.left; right: parent.right } + height: 80 + border.width: 0 + border.color: "lightsteelblue" + radius: 2 color: theme.backgroundColor - - Image { - id: innerskImg - source: Pic - width: units.gridUnit * 1.2 - height: units.gridUnit * 1.2 - anchors.centerIn: parent - } - - PlasmaCore.SvgItem { - anchors { - left: innerskImg.right - leftMargin: 4 - top: parent.top - topMargin: 0 - bottom: parent.bottom - bottomMargin: 0 + z: -99 + + RowLayout { + id: skillTopRowLayout + spacing: 5 + anchors.fill: parent + + PlasmaComponents.Label { + id: innerskllname + anchors.top: parent.top + anchors.topMargin: 2 + anchors.left: parent.left + anchors.right: parent.right + wrapMode: Text.WordWrap; + font.bold: true; + text: i18n('Skill:' + Skill) } + + Rectangle { + id: skilltipsimage + anchors.left: parent.left + anchors.top: innerskllname.bottom + anchors.bottom: parent.bottom + width: units.gridUnit * 1.2 + color: theme.backgroundColor + + Image { + id: innerskImg + source: Pic + width: units.gridUnit * 1.2 + height: units.gridUnit * 1.2 + anchors.centerIn: parent + } + + PlasmaCore.SvgItem { + anchors { + left: innerskImg.right + leftMargin: 4 + top: parent.top + topMargin: 0 + bottom: parent.bottom + bottomMargin: 0 + } - width: lineskillpgSvg.elementSize("vertical-line").width - z: 110 - elementId: "vertical-line" + width: lineskillpgSvg.elementSize("vertical-line").width + z: 110 + elementId: "vertical-line" - svg: PlasmaCore.Svg { - id: lineskillpgSvg; - imagePath: "widgets/line" + svg: PlasmaCore.Svg { + id: lineskillpgSvg; + imagePath: "widgets/line" + } + } + } - } - } - - Rectangle { - id: skilltipsinner - anchors.left: skilltipsimage.right - anchors.leftMargin: 10 - anchors.right: parent.right - color: theme.backgroundColor - anchors.top: innerskllname.bottom - anchors.bottom: parent.bottom - - Column{ - id: innerskillscolumn - spacing: 2 + Rectangle { + id: skilltipsinner + anchors.left: skilltipsimage.right + anchors.leftMargin: 10 + anchors.right: parent.right + color: theme.backgroundColor + anchors.top: innerskllname.bottom + anchors.bottom: parent.bottom - PlasmaComponents.Label {wrapMode: Text.WordWrap; width: main.width; text: i18n('Command: ' + CommandList.get(0).Commands)} - PlasmaComponents.Label {wrapMode: Text.WordWrap; width: main.width; text: i18n('Command: ' + CommandList.get(1).Commands)} - } + Column{ + id: innerskillscolumn + spacing: 2 + + PlasmaComponents.Label {wrapMode: Text.WordWrap; width: main.width; text: i18n('Command: ' + CommandList.get(0).Commands)} + PlasmaComponents.Label {wrapMode: Text.WordWrap; width: main.width; text: i18n('Command: ' + CommandList.get(1).Commands)} } } } } } + } - ListView { - id: skillslistmodelview - anchors.top: parent.top - anchors.topMargin: 5 - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - model: SkillModel{} - delegate: skillDelegate - spacing: 4 - focus: false - interactive: true - clip: true; - } + ListView { + id: skillslistmodelview + anchors.top: parent.top + anchors.topMargin: 5 + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + model: SkillModel{} + delegate: skillDelegate + spacing: 4 + focus: false + interactive: true + clip: true; + } - } + } -ColumnLayout { -id: mycroftSettingsColumn -visible: tabBar.currentTab == mycroftSettingsTab; -anchors.top: root.top -anchors.left: sidebar.right -anchors.leftMargin: units.gridUnit * 0.25 -anchors.right: root.right -anchors.bottom: root.bottom + ColumnLayout { + id: mycroftSettingsColumn + visible: tabBar.currentTab == mycroftSettingsTab; + anchors.top: root.top + anchors.left: sidebar.right + anchors.leftMargin: units.gridUnit * 0.25 + anchors.right: root.right + anchors.bottom: root.bottom -Item { - id: settingscontent - Layout.fillWidth: true; - Layout.fillHeight: true; - anchors.fill: parent; - //color: theme.backgroundColor + Item { + id: settingscontent + Layout.fillWidth: true; + Layout.fillHeight: true; + anchors.fill: parent; -Flickable { - id: settingFlick - anchors.fill: parent; - contentWidth: mycroftSettingsColumn.width - contentHeight: units.gridUnit * 22 - clip: true; - + Flickable { + id: settingFlick + anchors.fill: parent; + contentWidth: mycroftSettingsColumn.width + contentHeight: units.gridUnit * 22 + clip: true; + PlasmaComponents.Label { id: settingsTabUnits anchors.top: parent.top; anchors.topMargin: 5 text: i18n("Your Mycroft Core Installation Path") - } - - PlasmaComponents.ButtonColumn { - id: radiobuttonColoumn - anchors.top: settingsTabUnits.bottom - anchors.topMargin: 5 - - PlasmaComponents.RadioButton { - id: settingsTabUnitsOpZero - exclusiveGroup: installPathGroup - text: i18n("Default Path") - checked: true + } - onCheckedChanged: { - - if (settingsTabUnitsOpZero.checked === true && coreinstallstartpath === packagemcorestartcmd) { - coreinstallstartpath = defaultmcorestartpath; - } - else if (settingsTabUnitsOpZero.checked === true && coreinstallstartpath === customlocstartpath) { - coreinstallstartpath = defaultmcorestartpath; - } - - if (settingsTabUnitsOpZero.checked === true && coreinstallstoppath === packagemcorestopcmd) { - coreinstallstoppath = defaultmcorestoppath; - } + PlasmaComponents.ButtonColumn { + id: radiobuttonColoumn + anchors.top: settingsTabUnits.bottom + anchors.topMargin: 5 + + PlasmaComponents.RadioButton { + id: settingsTabUnitsOpZero + exclusiveGroup: installPathGroup + text: i18n("Default Path") + checked: true - else if (settingsTabUnitsOpZero.checked === true && coreinstallstoppath === customlocstoppath) { - coreinstallstoppath = defaultmcorestoppath; + onCheckedChanged: { + + if (settingsTabUnitsOpZero.checked === true && coreinstallstartpath === packagemcorestartcmd) { + coreinstallstartpath = defaultmcorestartpath; + } + else if (settingsTabUnitsOpZero.checked === true && coreinstallstartpath === customlocstartpath) { + coreinstallstartpath = defaultmcorestartpath; + } + + if (settingsTabUnitsOpZero.checked === true && coreinstallstoppath === packagemcorestopcmd) { + coreinstallstoppath = defaultmcorestoppath; + } + + else if (settingsTabUnitsOpZero.checked === true && coreinstallstoppath === customlocstoppath) { + coreinstallstoppath = defaultmcorestoppath; + } } } - } - - PlasmaComponents.RadioButton { - id: settingsTabUnitsOpOne - exclusiveGroup: installPathGroup - text: i18n("Installed Using Mycroft Package") - checked: false - onCheckedChanged: { - - if (settingsTabUnitsOpOne.checked === true && coreinstallstartpath === defaultmcorestartpath) { - coreinstallstartpath = packagemcorestartcmd; - } - else if (settingsTabUnitsOpOne.checked === true && coreinstallstartpath === customlocstartpath) { - coreinstallstartpath = packagemcorestartcmd; - } + PlasmaComponents.RadioButton { + id: settingsTabUnitsOpOne + exclusiveGroup: installPathGroup + text: i18n("Installed Using Mycroft Package") + checked: false - if (settingsTabUnitsOpOne.checked === true && coreinstallstoppath === defaultmcorestoppath) { - coreinstallstoppath = packagemcorestopcmd; - } - - else if (settingsTabUnitsOpOne.checked === true && coreinstallstoppath === customlocstoppath) { - coreinstallstoppath = packagemcorestopcmd; + onCheckedChanged: { + + if (settingsTabUnitsOpOne.checked === true && coreinstallstartpath === defaultmcorestartpath) { + coreinstallstartpath = packagemcorestartcmd; + } + else if (settingsTabUnitsOpOne.checked === true && coreinstallstartpath === customlocstartpath) { + coreinstallstartpath = packagemcorestartcmd; + } + + if (settingsTabUnitsOpOne.checked === true && coreinstallstoppath === defaultmcorestoppath) { + coreinstallstoppath = packagemcorestopcmd; + } + + else if (settingsTabUnitsOpOne.checked === true && coreinstallstoppath === customlocstoppath) { + coreinstallstoppath = packagemcorestopcmd; + } } } - } - - PlasmaComponents.RadioButton { - id: settingsTabUnitsOpTwo - exclusiveGroup: installPathGroup - text: i18n("Location of Mycroft-Core Directory") - checked: false - onCheckedChanged: { + PlasmaComponents.RadioButton { + id: settingsTabUnitsOpTwo + exclusiveGroup: installPathGroup + text: i18n("Location of Mycroft-Core Directory") + checked: false - if (settingsTabUnitsOpTwo.checked === true && coreinstallstartpath === defaultmcorestartpath) { - coreinstallstartpath = customlocstartpath; - } - else if (settingsTabUnitsOpTwo.checked === true && coreinstallstartpath === packagemcorestartcmd) { - coreinstallstartpath = customlocstartpath; + onCheckedChanged: { + + if (settingsTabUnitsOpTwo.checked === true && coreinstallstartpath === defaultmcorestartpath) { + coreinstallstartpath = customlocstartpath; + } + else if (settingsTabUnitsOpTwo.checked === true && coreinstallstartpath === packagemcorestartcmd) { + coreinstallstartpath = customlocstartpath; + } + + if (settingsTabUnitsOpTwo.checked === true && coreinstallstoppath === defaultmcorestoppath) { + coreinstallstoppath = customlocstoppath; + } + + else if (settingsTabUnitsOpTwo.checked === true && coreinstallstoppath === packagemcorestopcmd) { + coreinstallstoppath = customlocstoppath; + } + } - - if (settingsTabUnitsOpTwo.checked === true && coreinstallstoppath === defaultmcorestoppath) { - coreinstallstoppath = customlocstoppath; + } } + + PlasmaComponents.TextField { + id: settingsTabUnitsOpThree + width: settingscontent.width / 1.1 + anchors.top: radiobuttonColoumn.bottom + anchors.topMargin: 10 + placeholderText: i18n("/mycroft-core/") + text: "" - else if (settingsTabUnitsOpTwo.checked === true && coreinstallstoppath === packagemcorestopcmd) { - coreinstallstoppath = customlocstoppath; + onTextChanged: { + var cstloc = settingsTabUnitsOpThree.text + customloc = cstloc + } - - } - } } - + + PlasmaComponents.Button { + id: acceptcustomPath + anchors.left: settingsTabUnitsOpThree.right + anchors.verticalCenter: settingsTabUnitsOpThree.verticalCenter + anchors.right: parent.right + iconSource: "checkbox" + + onClicked: { + var cstlocl = customloc + var ctstart = cstlocl + "start-mycroft.sh all" + var ctstop = cstlocl + "stop-mycroft.sh" + startsrvcustom.text = ctstart + stopsrvcustom.text = ctstop + console.log(startsrvcustom.text) + } + } + PlasmaComponents.TextField { - id: settingsTabUnitsOpThree - width: settingscontent.width / 1.1 - anchors.top: radiobuttonColoumn.bottom - anchors.topMargin: 10 - placeholderText: i18n("/mycroft-core/") - text: "" + id: settingsTabUnitsWSpath + width: settingscontent.width / 1.1 + anchors.top: settingsTabUnitsOpThree.bottom + anchors.topMargin: 10 + placeholderText: i18n("ws://0.0.0.0:8181/core") + text: i18n("ws://0.0.0.0:8181/core") + } - onTextChanged: { - var cstloc = settingsTabUnitsOpThree.text - customloc = cstloc - + PlasmaComponents.Button { + id: acceptcustomWSPath + anchors.left: settingsTabUnitsWSpath.right + anchors.verticalCenter: settingsTabUnitsWSpath.verticalCenter + anchors.right: parent.right + iconSource: "checkbox" + + onClicked: { + innerset.wsurl = settingsTabUnitsWSpath.text + } } - } - - PlasmaComponents.Button { - id: acceptcustomPath - anchors.left: settingsTabUnitsOpThree.right - anchors.verticalCenter: settingsTabUnitsOpThree.verticalCenter - anchors.right: parent.right - iconSource: "checkbox" - - onClicked: { - var cstlocl = customloc - var ctstart = cstlocl + "start-mycroft.sh all" - var ctstop = cstlocl + "stop-mycroft.sh" - startsrvcustom.text = ctstart - stopsrvcustom.text = ctstop - console.log(startsrvcustom.text) + + + PlasmaComponents.TextField { + id: settingsTabUnitsIRCmd + width: settingscontent.width / 1.1 + anchors.top: settingsTabUnitsWSpath.bottom + anchors.topMargin: 10 + placeholderText: i18n("Your Custom Image Recognition Skill Voc Keywords") + text: i18n("search image url") } - } - - PlasmaComponents.TextField { - id: settingsTabUnitsWSpath - width: settingscontent.width / 1.1 - anchors.top: settingsTabUnitsOpThree.bottom - anchors.topMargin: 10 - placeholderText: i18n("ws://0.0.0.0:8181/core") - text: i18n("ws://0.0.0.0:8181/core") - } - - PlasmaComponents.Button { - id: acceptcustomWSPath - anchors.left: settingsTabUnitsWSpath.right - anchors.verticalCenter: settingsTabUnitsWSpath.verticalCenter - anchors.right: parent.right - iconSource: "checkbox" - - onClicked: { - innerset.wsurl = settingsTabUnitsWSpath.text + + PlasmaComponents.Button { + id: acceptcustomIRCmd + anchors.left: settingsTabUnitsIRCmd.right + anchors.verticalCenter: settingsTabUnitsIRCmd.verticalCenter + anchors.right: parent.right + iconSource: "checkbox" + } + + + PlasmaComponents.Switch { + id: notificationswitch + anchors.top: settingsTabUnitsIRCmd.bottom + anchors.topMargin: 10 + text: i18n("Enable Notifications") + checked: true } - } - - - PlasmaComponents.TextField { - id: settingsTabUnitsIRCmd - width: settingscontent.width / 1.1 - anchors.top: settingsTabUnitsWSpath.bottom - anchors.topMargin: 10 - placeholderText: i18n("Your Custom Image Recognition Skill Voc Keywords") - text: i18n("search image url") - } - - PlasmaComponents.Button { - id: acceptcustomIRCmd - anchors.left: settingsTabUnitsIRCmd.right - anchors.verticalCenter: settingsTabUnitsIRCmd.verticalCenter - anchors.right: parent.right - iconSource: "checkbox" - - onClicked: { - + + + PlasmaExtras.Paragraph { + id: settingsTabTF2 + anchors.top: notificationswitch.bottom + anchors.topMargin: 15 + text: i18n("Please Note: Default path is set to /home/$USER/mycroft-core/. Change the above settings to match your installation") } - } - - - PlasmaComponents.Switch { - id: notificationswitch - anchors.top: settingsTabUnitsIRCmd.bottom - anchors.topMargin: 10 - text: i18n("Enable Notifications") - checked: true - } - - - PlasmaExtras.Paragraph { - id: settingsTabTF2 - anchors.top: notificationswitch.bottom - anchors.topMargin: 15 - text: i18n("Please Note: Default path is set to /home/$USER/mycroft-core/. Change the above settings to match your installation") + + PlasmaComponents.Label { + id: startsrvcustom + visible: false } - PlasmaComponents.Label { - id: startsrvcustom - visible: false + PlasmaComponents.Label { + id: stopsrvcustom + visible: false + } } - - PlasmaComponents.Label { - id: stopsrvcustom - visible: false - } } } - } - -ColumnLayout { -id: mycroftMsmColumn -visible: tabBar.currentTab == mycroftMSMinstTab; -anchors.top: root.top -anchors.left: sidebar.right -anchors.leftMargin: units.gridUnit * 0.25 -anchors.right: root.right -anchors.bottom: root.bottom - - Item { - id: msmtabtopbar - width: parent.width - anchors.left: parent.left - anchors.right: parent.right - height: units.gridUnit * 2 - - PlasmaComponents.TextField { - id: msmsearchfld - anchors.left: parent.left - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.right: getskillsbx.left - placeholderText: i18n("Search Skills") - clearButtonShown: true + ColumnLayout { + id: mycroftMsmColumn + visible: tabBar.currentTab == mycroftMSMinstTab; + anchors.top: root.top + anchors.left: sidebar.right + anchors.leftMargin: units.gridUnit * 0.25 + anchors.right: root.right + anchors.bottom: root.bottom - onTextChanged: { - if(text.length > 0 ) { - msmskillsModel.applyFilter(text.toLowerCase()); - } else { - msmskillsModel.reload(); - } - } - } - - PlasmaComponents.ToolButton { - id: getskillsbx + Item { + id: msmtabtopbar + width: parent.width + anchors.left: parent.left anchors.right: parent.right + height: units.gridUnit * 2 + + PlasmaComponents.TextField { + id: msmsearchfld + anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom - iconSource: "view-refresh" - tooltip: i18n("Refresh List") - flat: true - width: Math.round(units.gridUnit * 2) - height: width - z: 102 - - onClicked: { - msmskillsModel.clear(); - refreshAllSkills(); - } + anchors.right: getskillsbx.left + placeholderText: i18n("Search Skills") + clearButtonShown: true + + onTextChanged: { + if(text.length > 0 ) { + msmskillsModel.applyFilter(text.toLowerCase()); + } else { + msmskillsModel.reload(); } - } - - ListModel { - id: msmskillsModel + } + } - Component.onCompleted: { - reload(); - console.log('Completing too early?'); + PlasmaComponents.ToolButton { + id: getskillsbx + anchors.right: parent.right + anchors.top: parent.top + anchors.bottom: parent.bottom + iconSource: "view-refresh" + tooltip: i18n("Refresh List") + flat: true + width: Math.round(units.gridUnit * 2) + height: width + z: 102 + + onClicked: { + msmskillsModel.clear(); + refreshAllSkills(); + } + } } - function reload() { - var skList = getAllSkills(); - msmskillsModel.clear(); - for( var i=0; i < skList.length ; ++i ) { - msmskillsModel.append(skList[i]); + ListModel { + id: msmskillsModel + + Component.onCompleted: { + reload(); + console.log('Completing too early?'); + } + + function reload() { + var skList = getAllSkills(); + msmskillsModel.clear(); + for( var i=0; i < skList.length ; ++i ) { + msmskillsModel.append(skList[i]); + } } - } - function applyFilter(skName) { - var skList = getSkillByName(skName); - msmskillsModel.clear(); - for( var i=0; i < skList.length ; ++i ) { - msmskillsModel.append(skList[i]); + function applyFilter(skName) { + var skList = getSkillByName(skName); + msmskillsModel.clear(); + for( var i=0; i < skList.length ; ++i ) { + msmskillsModel.append(skList[i]); + } } } + + ListView { + id: msmlistView + anchors.top: msmtabtopbar.bottom + anchors.topMargin: 5 + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + model: msmskillsModel + delegate: MsmView{} + spacing: 4 + focus: false + interactive: true + clip: true; + + } } - - ListView { - id: msmlistView - anchors.top: msmtabtopbar.bottom - anchors.topMargin: 5 - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - model: msmskillsModel - delegate: MsmView{} - spacing: 4 - focus: false - interactive: true - clip: true; - - } - } } SourceModel { @@ -1194,60 +1193,99 @@ anchors.bottom: main.bottom z: 110 - Rectangle { - id: suggestionbottombox - anchors.top: parent.top - anchors.bottom: qinput.top - anchors.right: parent.right - anchors.left: parent.left - color: theme.backgroundColor - //height: 40; - - Suggestions { - id: suggst - visible: true; + ListModel { + id: completionItems } + + Drawer { + id: drawer + width: parent.width + height: units.gridUnit * 4 + edge: Qt.BottomEdge + + Rectangle { + color: theme.backgroundColor + anchors.fill: parent + } - } + CustomIndicator { + id: waitanimoutter + height: 70 + width: 70 + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + Rectangle { + id: suggestionbottombox + anchors.top: parent.top + anchors.bottom: qinput.top + anchors.right: parent.right + anchors.left: parent.left + color: theme.backgroundColor + + Suggestions { + id: suggst + visible: true; + } + } PlasmaComponents.TextField { - id: qinput - anchors.left: parent.left - //anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.right: parent.right - placeholderText: i18n("Enter Query or Say 'Hey Mycroft'") - clearButtonShown: true - - onAccepted: { - suggst.visible = true; - //conversationInputList.append({"InputQuery": qinput.text}); - //inputlistView.positionViewAtEnd(); - - var socketmessage = {}; - socketmessage.type = "recognizer_loop:utterance"; - socketmessage.data = {}; - socketmessage.data.utterances = [qinput.text]; - socket.sendTextMessage(JSON.stringify(socketmessage)); - qinput.text = ""; - } - - onTextChanged: { - var terms = getTermsForSearchString(qinput.text); - } + id: qinput + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.right: parent.right + placeholderText: i18n("Enter Query or Say 'Hey Mycroft'") + clearButtonShown: true + + onAccepted: { + var doesExist = autoAppend(autoCompModel, function(item) { return item.name === qinput.text }, qinput.text) + var evaluateExist = doesExist + if(evaluateExist === null){ + autoCompModel.append({"name": qinput.text}); + } + suggst.visible = true; + var socketmessage = {}; + socketmessage.type = "recognizer_loop:utterance"; + socketmessage.data = {}; + socketmessage.data.utterances = [qinput.text]; + socket.sendTextMessage(JSON.stringify(socketmessage)); + qinput.text = ""; + } + + onTextChanged: { + //var terms = getTermsForSearchString(qinput.text); + evalAutoLogic(); + } } -} + + AutocompleteBox { + id: suggestionsBox + model: completionItems + width: qinput.width + anchors.bottom: qinput.top + anchors.left: qinput.left + anchors.right: qinput.right + filter: textInput.text + property: "name" + onItemSelected: complete(item) -Settings { - id: innerset - property alias wsurl: settingsTabUnitsWSpath.text - property alias customrecog: settingsTabUnitsIRCmd.text - property alias customsetuppath: settingsTabUnitsOpThree.text - property alias notifybool: notificationswitch.checked - property alias radiobt1: settingsTabUnitsOpOne.checked - property alias radiobt2: settingsTabUnitsOpTwo.checked - property alias radiobt3: settingsTabUnitsOpZero.checked + function complete(item) { + if (item !== undefined) + textInput.text = item.name + } + } } + Settings { + id: innerset + property alias wsurl: settingsTabUnitsWSpath.text + property alias customrecog: settingsTabUnitsIRCmd.text + property alias customsetuppath: settingsTabUnitsOpThree.text + property alias notifybool: notificationswitch.checked + property alias radiobt1: settingsTabUnitsOpOne.checked + property alias radiobt2: settingsTabUnitsOpTwo.checked + property alias radiobt3: settingsTabUnitsOpZero.checked + } } diff --git a/plasmoid/metadata.desktop b/plasmoid/metadata.desktop old mode 100644 new mode 100755 diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt old mode 100644 new mode 100755 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -2,11 +2,11 @@ kde_enable_exceptions() -set(mycroftplasmoidplugin_SRCS mycroftplasmoidplugin.cpp launchapp.cpp notify.cpp filereader.cpp msmapp.cpp) +set(mycroftplasmoidplugin_SRCS mycroftplasmoidplugin.cpp launchapp.cpp notify.cpp filereader.cpp msmapp.cpp mycroftplasmoid_dbus.cpp) add_library(mycroftplasmoidplugin SHARED ${mycroftplasmoidplugin_SRCS}) -target_link_libraries(mycroftplasmoidplugin Qt5::Gui Qt5::Core Qt5::Qml KF5::Plasma KF5::I18n KF5::Notifications) +target_link_libraries(mycroftplasmoidplugin Qt5::Gui Qt5::Core Qt5::Qml Qt5::DBus KF5::Plasma KF5::I18n KF5::Notifications) install(TARGETS mycroftplasmoidplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/private/mycroftplasmoid) diff --git a/plugin/filereader.h b/plugin/filereader.h old mode 100644 new mode 100755 diff --git a/plugin/filereader.cpp b/plugin/filereader.cpp old mode 100644 new mode 100755 diff --git a/plugin/launchapp.h b/plugin/launchapp.h old mode 100644 new mode 100755 diff --git a/plugin/launchapp.cpp b/plugin/launchapp.cpp old mode 100644 new mode 100755 diff --git a/plugin/msmapp.h b/plugin/msmapp.h old mode 100644 new mode 100755 diff --git a/plugin/msmapp.cpp b/plugin/msmapp.cpp old mode 100644 new mode 100755 diff --git a/plugin/mycroftPlasmoid.notifyrc b/plugin/mycroftPlasmoid.notifyrc old mode 100644 new mode 100755 diff --git a/plugin/mycroftplasmoid_dbus.h b/plugin/mycroftplasmoid_dbus.h new file mode 100755 --- /dev/null +++ b/plugin/mycroftplasmoid_dbus.h @@ -0,0 +1,65 @@ +/* + * This file was generated by qdbusxml2cpp version 0.8 + * Command line was: + * + * qdbusxml2cpp is Copyright (C) 2016 The Qt Company Ltd. + * + * This is an auto-generated file. + * This file may have been hand-edited. Look for HAND-EDIT comments + * before re-generating it. + */ + +#ifndef MYCROFTPLASMOID_DBUS_H +#define MYCROFTPLASMOID_DBUS_H + +#include +#include +QT_BEGIN_NAMESPACE +class QByteArray; +template class QList; +template class QMap; +class QString; +class QStringList; +class QVariant; +QT_END_NAMESPACE + +/* + * Adaptor class for interface org.kde.mycroftapplet + */ +class MycroftDbusAdapterInterface: public QDBusAbstractAdaptor +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.kde.mycroftapplet") + Q_CLASSINFO("D-Bus Introspection", "" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" + "") +public: + MycroftDbusAdapterInterface(QObject *parent); + virtual ~MycroftDbusAdapterInterface(); + Q_INVOKABLE QString getMethod(const QString &method); + +public: // PROPERTIES +public Q_SLOTS: // METHODS + void showMycroft(); + void showSkills(); + void showSkillsInstaller(); +Q_SIGNALS: // SIGNALS + void sendShowInstallSkills(const QString &msgShowInstallSkills); + void sendShowMycroft(const QString &msgShowMycroft); + void sendShowSkills(const QString &msgShowSkills); +}; + +#endif diff --git a/plugin/mycroftplasmoid_dbus.cpp b/plugin/mycroftplasmoid_dbus.cpp new file mode 100755 --- /dev/null +++ b/plugin/mycroftplasmoid_dbus.cpp @@ -0,0 +1,67 @@ +/* + * This file was generated by qdbusxml2cpp version 0.8 + * Command line was: + * + * qdbusxml2cpp is Copyright (C) 2016 The Qt Company Ltd. + * + * This is an auto-generated file. + * Do not edit! All changes made to it will be lost. + */ + +#include "mycroftplasmoid_dbus.h" +#include "mycroftplasmoidplugin.h" +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Implementation of adaptor class MycroftDbusAdapterInterface + */ + +MycroftDbusAdapterInterface::MycroftDbusAdapterInterface(QObject *parent) + : QDBusAbstractAdaptor(parent) +{ + // constructor + QDBusConnection dbus = QDBusConnection::sessionBus(); + dbus.registerObject("/mycroftapplet", this, QDBusConnection::ExportScriptableSlots | QDBusConnection::ExportNonScriptableSlots); + dbus.registerService("org.kde.mycroftapplet"); + setAutoRelaySignals(true); +} + +MycroftDbusAdapterInterface::~MycroftDbusAdapterInterface() +{ + // destructor +} + +void MycroftDbusAdapterInterface::showMycroft() +{ + // handle method call org.kde.mycroft.showMycroft + emit sendShowMycroft("Show"); + QMetaObject::invokeMethod(this, "getMethod", Qt::DirectConnection, Q_ARG(QString, "Show")); +} + +void MycroftDbusAdapterInterface::showSkills() +{ + // handle method call org.kde.mycroft.showSkills + emit sendShowSkills("ShowSkills"); + //QMetaObject::invokeMethod(this, "showSkills"); +} + +void MycroftDbusAdapterInterface::showSkillsInstaller() +{ + // handle method call org.kde.mycroft.showSkillsInstaller + emit sendShowInstallSkills("ShowInstallSkills"); + //QMetaObject::invokeMethod(this, "showSkillsInstaller"); +} + +Q_INVOKABLE QString MycroftDbusAdapterInterface::getMethod(const QString &method) +{ + QString str = method; + return str; +} + diff --git a/plugin/mycroftplasmoidplugin.h b/plugin/mycroftplasmoidplugin.h old mode 100644 new mode 100755 --- a/plugin/mycroftplasmoidplugin.h +++ b/plugin/mycroftplasmoidplugin.h @@ -2,15 +2,21 @@ #define PROTOTYPEPLASMOIDPLUGIN_H #include +#include +#include class QQmlEngine; + class MycroftPlasmoidPlugin : public QQmlExtensionPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") public: void registerTypes(const char *uri); + void initializeEngine(QQmlEngine *engine, const char *uri) override; + +Q_SIGNAL }; #endif // PROTOTYPEPLASMOIDPLUGIN_H diff --git a/plugin/mycroftplasmoidplugin.cpp b/plugin/mycroftplasmoidplugin.cpp old mode 100644 new mode 100755 --- a/plugin/mycroftplasmoidplugin.cpp +++ b/plugin/mycroftplasmoidplugin.cpp @@ -17,11 +17,14 @@ */ #include "mycroftplasmoidplugin.h" +#include "mycroftplasmoid_dbus.h" #include "launchapp.h" #include "notify.h" #include "filereader.h" #include "msmapp.h" #include +#include +#include static QObject *notify_singleton(QQmlEngine *engine, QJSEngine *scriptEngine) { @@ -55,3 +58,10 @@ qmlRegisterSingletonType(uri, 1, 0, "FileReader", filereader_singleton); qmlRegisterType(uri, 1, 0, "MsmApp"); } + +void MycroftPlasmoidPlugin::initializeEngine(QQmlEngine* engine, const char* uri) +{ + QQmlExtensionPlugin::initializeEngine(engine, uri); + auto mycroftDbusAdapterInterface = new MycroftDbusAdapterInterface(engine); + engine->rootContext()->setContextProperty("main2", mycroftDbusAdapterInterface); +} diff --git a/plugin/notify.h b/plugin/notify.h old mode 100644 new mode 100755 diff --git a/plugin/notify.cpp b/plugin/notify.cpp old mode 100644 new mode 100755 diff --git a/plugin/qmldir b/plugin/qmldir old mode 100644 new mode 100755