From 36b99d8a1584466cf0bec58635408c0d7c290ad0 2017-12-07 14:52:24 From: Thibaud Rabillard Date: 2017-12-07 14:52:24 Subject: [PATCH] Catalog side bar --- diff --git a/gui/include/Catalogue/CatalogueSideBarWidget.h b/gui/include/Catalogue/CatalogueSideBarWidget.h index c4d8b53..e9ac29b 100644 --- a/gui/include/Catalogue/CatalogueSideBarWidget.h +++ b/gui/include/Catalogue/CatalogueSideBarWidget.h @@ -1,6 +1,7 @@ -#ifndef CATALOGUESIDEBARWIDGET_H -#define CATALOGUESIDEBARWIDGET_H +#ifndef SCIQLOP_CATALOGUESIDEBARWIDGET_H +#define SCIQLOP_CATALOGUESIDEBARWIDGET_H +#include #include namespace Ui { @@ -12,10 +13,13 @@ class CatalogueSideBarWidget : public QWidget { public: explicit CatalogueSideBarWidget(QWidget *parent = 0); - ~CatalogueSideBarWidget(); + virtual ~CatalogueSideBarWidget(); private: Ui::CatalogueSideBarWidget *ui; + + class CatalogueSideBarWidgetPrivate; + spimpl::unique_impl_ptr impl; }; -#endif // CATALOGUESIDEBARWIDGET_H +#endif // SCIQLOP_CATALOGUESIDEBARWIDGET_H diff --git a/gui/resources/icones/allEvents.png b/gui/resources/icones/allEvents.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1af61b831f8fbe1bca447ef6816332cce38c18 GIT binary patch literal 2001 zc$~dei&N5x6aONXn))*|$9(rAv`#z=@@4sD+%pdg*|PA^0K;t- z+W-JC#0P>A8cosgY2B?F>5hvgXp}a^7ayssp(5QRn#R`43XIhR>6`q`5TLGpCjjVB z@E|twWc`PRxN=04>ENa^*U0PniA+QD^imx}>D<89lQ9+GQ@f2O{!Ar_UuIleVI)l2 zViKR_=Pbm>BsyDeN>3?Z5kYQj||t$cw;HpsbAW!VqSRtAzzzV|E;o{u(Ns)%PP` zFsHUX;6B(`T|X4e;l3|QDn5KaL;7{E58>(tHp;A?$t?SWb%<}<&u!~CWB|$`N(qVE z8g*0TUb#je%7b)qZ+RuLGF-1`#uAAIZS%g2;jS?ottD&VXw-;Bb{$PN_BNM=ic*p~r#o8&xv`jDcy7P}SZ| z!r^rYrUSAg$W~O4m8(z^;Xm^%+4$*}>y2Y5{8>$sD-x zZ+PBd_7@J;E|Tf@6O9PZDX|*tv;@5w9z|2JHEKAWJy~qxqVsg5308F&blwLK)4Kfq z8n2XgbXe3UdzZhc<^eWj#i{&H=;dThHeXt-nweoEr%2YxVlSnFu)8d+i`f33?+RGV z?S6l7pF! zun#DqRlp)J|u#4yT>W*|q5Wi^P|M?j^xEis3t9$hrVEe?p0MDEJvc9sivcO<4{%ogC zMUc5Kr*PowU2JaM$k8+nqNA6!%VE`s;WvBfWM;lo%DkyeRS3*Omik7h6S>!1gjUC$ zEiUa}j`GlVP^P$4&Keai+B$77tms}X1T3x}T1PX-rqashE&waIKdWP6V&+^eDoz2R zX1bV!@^!Rptet0oLN1r5JzUF6mvk7gLR*%P@+Kwv)4{SB_{PsD#bL|)jl0_?e=KG( zXT1v|b8dHat-QF%1&@UOaPKUwH=$intagLv90?Co3eyJ>{47C}EpSH&=5F$jFMB_O%tc6)IR$X~SG!!`lNIOF+YGmoYPjWqTg z9V>^kZ^YKb4U1~i-8lQ0@SMUrjvMr3bK}A0e$fHI#u9XbK`6avcuV_{@WFbD8x}WK z>KnjW`})*5vlEqxFjDVyV<;Wcnbfd+UopO^=?5BJKrgK-}%Ic>M&2zX6V3J`c~)x%Z2k z-2MCV)QdyopM)>{?ScKv^(ck5@UyI;J^KAIpoKQ~?BShm6+Hs(dAwavPwUlANS#ne zo~La;-2hZJO@C>oqDe`$G>ON&y?+JKkQY?)zslITOn8Jm{&A4EcB_v)OnrCWV%t}( z$X%42oKLR+@zuDLqaS5?cO6yR!q13){~f0kV006@=ZT55J#0VC(U5#_CQZ&EC9{G) zn}U=+>?bXlb*@;D>oxnB%uB8N>I2H&2sV#Ixj+?0qM{Qm&wJ9;!l2sadWsQb!hG;! zhvSoAMz)+Z0`&=7+<*Kdi{iF!)v4FjHNj?_MagVG!rTwY_cS5w2W%gXbRv< zM!%rkacs(CQQdN%w-07b5vyCvz3F0dCY?Peb`IHe9?kH-Oy#FPkS?Ie#cJy69`@wj zf^Q1M5-hkDqQN)y@<_P_kH;f)j;lUWaWx@t^tQv|-U&*6Bl3*^!`m%{)8(k~T)s4* zY_4G-gIrN;W=Mue%y0xciWs^maZ1{B^_-EC$ztE)BYC4*D zt9Je2+SlRc6KMOS*wxo}a~cnbG$;P*vBS>*z)I~VVvxvn;YBrh2hIq+{4&|pDp9+? z7lF6g%k3BHjkeL|*JKz%^dl4wl+Py9wOyGbRKB$2;!pfC5w#LL6o=HjkB{FhL@bPX;nT!VcWq>zmM#Z+BFjY}&Nb{A2)+3k5rT6VCn@ DCO)%M literal 0 Hc$@4nJ za0`PlBg3pY5)2H?_dH!3Ln`LHy?Z|2Cs5+p$9zxi4td3iQ(SIEc(%A6J$G(>!a=w4 zHLibb|M4k`Dg9v@we$Upj62U-zTbJ?_W6!< zBUWP+ki9^$l-=w`*sJv`S#_@7X*w6;m3Oyw z+AjTb_I->$_m%Yjg<^Ms%;#C_Fa3Kd_lv=1#a^%IixRW8{(qk>X%Upa^6Sk-?+#eq zQE~g<-VpuDFJ-gr49EXp%GX6Egs&C7u5w7&q~rDhyHfS4Hw#}~UMBq4_W?)2jI6!# z%*PrhACP?1S}s|^w1?pyV}7-rc*@?WRx5_Xe=3`;uUGsoo>F06C16~_e6hOpUvA(f z?NjUzL<(4EF!V9CXB^{=Tc7!W_XAf2$DO6K0;Qhv{W^OqZRfki^XHmhVg1s)>*l)C z%)MWvrp~HU=iYi*CEVL2C~1}?)3OF;)>~PVz8^TaOIp*A+2_G*`;Nc|E_ZvUa2)u_ zlxq_DHaT30L7aQb#gOT*@)jJCd%(S6yMwjw7s(sz-?e0#ys~YW2?k5eJilIDS-DEz zZbg4w==Gv%o_WmIubD1l4%(YDgSo8xR-f0WYyN@_i4T@9xcefCW1rmeA9nZjAG8B` z`!uCOYZZ&#uH>amG7MyWFnPt@6DrA%Bo+A1Gn`yHi&3Vbj?bZJCDQ|22mAMole|rt zEg1d=u^#Ytu-9ii>3PhhRBDIt#og}@Y*VyQ2|mlf{lj6!b(=-PK~L8gSIA#bmF7-m z*u(!~Qg17>Kr{1%m{SZD{1=|uIuvQ9Gq5kv21>G&RC0RgJ>_}8P-4k&^5ik6pVlUJ z07n#%Ne$SMQUV4CS6}=$J2C&-RV-ZLWd!9imkw}t{=~wdl(!VwgxD;oDF1Bi05W? zx+0^>pg6DXkkgen3@=(%Sb8xy`LwsTf*CfvK*mkR3!H(QnHLBzdZxiRBdFZrLGvzV z0dLvAj`Ra?z~0 oi@xQrjXF^D`|=qSuqJOmqix-Svr4nnK-r(c)78&qol`;+0KS6Q!vFvP literal 0 Hc$@icones/add.png icones/remove.png icones/chart.png + icones/allEvents.png + icones/trash.png diff --git a/gui/src/Catalogue/CatalogueSideBarWidget.cpp b/gui/src/Catalogue/CatalogueSideBarWidget.cpp index 0be4394..f817170 100644 --- a/gui/src/Catalogue/CatalogueSideBarWidget.cpp +++ b/gui/src/Catalogue/CatalogueSideBarWidget.cpp @@ -1,13 +1,46 @@ #include "Catalogue/CatalogueSideBarWidget.h" #include "ui_CatalogueSideBarWidget.h" +auto ALL_EVENT_ITEM_TYPE = QTreeWidgetItem::UserType; +auto TRASH_ITEM_TYPE = QTreeWidgetItem::UserType + 1; +auto CATALOGUE_ITEM_TYPE = QTreeWidgetItem::UserType + 2; +auto DATABASE_ITEM_TYPE = QTreeWidgetItem::UserType + 3; + + +struct CatalogueSideBarWidget::CatalogueSideBarWidgetPrivate { + void configureTreeWidget(QTreeWidget *treeWidget); +}; + CatalogueSideBarWidget::CatalogueSideBarWidget(QWidget *parent) - : QWidget(parent), ui(new Ui::CatalogueSideBarWidget) + : QWidget(parent), + ui(new Ui::CatalogueSideBarWidget), + impl{spimpl::make_unique_impl()} { ui->setupUi(this); + impl->configureTreeWidget(ui->treeWidget); } CatalogueSideBarWidget::~CatalogueSideBarWidget() { delete ui; } + +void CatalogueSideBarWidget::CatalogueSideBarWidgetPrivate::configureTreeWidget( + QTreeWidget *treeWidget) +{ + auto allEventsItem = new QTreeWidgetItem({"All Events"}, ALL_EVENT_ITEM_TYPE); + allEventsItem->setIcon(0, QIcon(":/icones/allEvents.png")); + treeWidget->addTopLevelItem(allEventsItem); + + auto trashItem = new QTreeWidgetItem({"Trash"}, TRASH_ITEM_TYPE); + trashItem->setIcon(0, QIcon(":/icones/trash.png")); + treeWidget->addTopLevelItem(trashItem); + + auto separator = new QFrame(treeWidget); + separator->setFrameShape(QFrame::HLine); + + auto separatorItem = new QTreeWidgetItem(); + separatorItem->setFlags(Qt::NoItemFlags); + treeWidget->addTopLevelItem(separatorItem); + treeWidget->setItemWidget(separatorItem, 0, separator); +} diff --git a/gui/ui/Catalogue/CatalogueExplorer.ui b/gui/ui/Catalogue/CatalogueExplorer.ui index 70fe42d..bb906a5 100644 --- a/gui/ui/Catalogue/CatalogueExplorer.ui +++ b/gui/ui/Catalogue/CatalogueExplorer.ui @@ -6,8 +6,8 @@ 0 0 - 775 - 512 + 755 + 481 @@ -19,13 +19,40 @@ Qt::Horizontal - + + + + 1 + 0 + + + + + + 3 + 0 + + Qt::Vertical - - + + + + 0 + 5 + + + + + + + 0 + 2 + + + diff --git a/gui/ui/Catalogue/CatalogueSideBarWidget.ui b/gui/ui/Catalogue/CatalogueSideBarWidget.ui index 514d1b3..ca3e22d 100644 --- a/gui/ui/Catalogue/CatalogueSideBarWidget.ui +++ b/gui/ui/Catalogue/CatalogueSideBarWidget.ui @@ -14,6 +14,18 @@ Form + + 0 + + + 0 + + + 0 + + + 0 + @@ -22,7 +34,7 @@ + - + :/icones/add.png:/icones/add.png @@ -36,7 +48,7 @@ - - + :/icones/remove.png:/icones/remove.png @@ -73,9 +85,6 @@ - - - - +