From d3abbae211e13c245d1239d1ebfaab055a987712 Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@nokia.com> Date: Wed, 1 Feb 2012 21:39:05 +0100 Subject: [PATCH] New close split buttons. This change moves the "close document" button back to the top-left and instead changes the icon on the "close split" buttons. Change-Id: I187c3f707f38ea8edef996cb5393654015d551ca Reviewed-by: Virva Auvinen <virva.auvinen@nokia.com> --- src/plugins/coreplugin/core.qrc | 6 ++ src/plugins/coreplugin/coreconstants.h | 56 ++++++++++-------- .../coreplugin/editormanager/editorview.cpp | 27 +++++++++ .../coreplugin/editormanager/editorview.h | 13 ++-- src/plugins/coreplugin/editortoolbar.cpp | 16 +++-- src/plugins/coreplugin/editortoolbar.h | 3 + .../coreplugin/images/button_close.png | Bin 0 -> 1170 bytes src/plugins/coreplugin/images/filtericon.png | Bin 473 -> 1079 bytes src/plugins/coreplugin/images/linkicon.png | Bin 592 -> 1114 bytes .../images/splitbutton_closebottom.png | Bin 0 -> 1080 bytes .../images/splitbutton_closeleft.png | Bin 0 -> 1065 bytes .../images/splitbutton_closeright.png | Bin 0 -> 1068 bytes .../images/splitbutton_closetop.png | Bin 0 -> 1083 bytes .../images/splitbutton_horizontal.png | Bin 408 -> 1060 bytes .../images/splitbutton_vertical.png | Bin 0 -> 1067 bytes .../coreplugin/navigationsubwidget.cpp | 2 +- src/plugins/coreplugin/sidebarwidget.cpp | 2 +- .../projectexplorer/projecttreewidget.cpp | 1 + src/plugins/texteditor/outlinefactory.cpp | 1 + 19 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 src/plugins/coreplugin/images/button_close.png create mode 100644 src/plugins/coreplugin/images/splitbutton_closebottom.png create mode 100644 src/plugins/coreplugin/images/splitbutton_closeleft.png create mode 100644 src/plugins/coreplugin/images/splitbutton_closeright.png create mode 100644 src/plugins/coreplugin/images/splitbutton_closetop.png create mode 100644 src/plugins/coreplugin/images/splitbutton_vertical.png diff --git a/src/plugins/coreplugin/core.qrc b/src/plugins/coreplugin/core.qrc index 3157c4f10ef..3af6f1c15b5 100644 --- a/src/plugins/coreplugin/core.qrc +++ b/src/plugins/coreplugin/core.qrc @@ -65,5 +65,11 @@ <file>images/category_qml.png</file> <file>images/filtericon.png</file> <file>images/category_buildrun.png</file> + <file>images/button_close.png</file> + <file>images/splitbutton_closebottom.png</file> + <file>images/splitbutton_closeleft.png</file> + <file>images/splitbutton_closeright.png</file> + <file>images/splitbutton_closetop.png</file> + <file>images/splitbutton_vertical.png</file> </qresource> </RCC> diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h index 88d3af79c6a..904d6478e7c 100644 --- a/src/plugins/coreplugin/coreconstants.h +++ b/src/plugins/coreplugin/coreconstants.h @@ -181,31 +181,37 @@ const char G_WINDOW_OTHER[] = "QtCreator.Group.Window.Other"; const char G_HELP_HELP[] = "QtCreator.Group.Help.Help"; const char G_HELP_ABOUT[] = "QtCreator.Group.Help.About"; -const char ICON_MINUS[] = ":/core/images/minus.png"; -const char ICON_PLUS[] = ":/core/images/plus.png"; -const char ICON_NEWFILE[] = ":/core/images/filenew.png"; -const char ICON_OPENFILE[] = ":/core/images/fileopen.png"; -const char ICON_SAVEFILE[] = ":/core/images/filesave.png"; -const char ICON_UNDO[] = ":/core/images/undo.png"; -const char ICON_REDO[] = ":/core/images/redo.png"; -const char ICON_COPY[] = ":/core/images/editcopy.png"; -const char ICON_PASTE[] = ":/core/images/editpaste.png"; -const char ICON_CUT[] = ":/core/images/editcut.png"; -const char ICON_NEXT[] = ":/core/images/next.png"; -const char ICON_PREV[] = ":/core/images/prev.png"; -const char ICON_DIR[] = ":/core/images/dir.png"; -const char ICON_CLEAN_PANE[] = ":/core/images/clean_pane_small.png"; -const char ICON_CLEAR[] = ":/core/images/clear.png"; -const char ICON_RESET[] = ":/core/images/reset.png"; -const char ICON_MAGNIFIER[] = ":/core/images/magnifier.png"; -const char ICON_TOGGLE_SIDEBAR[] = ":/core/images/sidebaricon.png"; -const char ICON_CLOSE[] = ":/core/images/closebutton.png"; -const char ICON_CLOSE_DARK[] = ":/core/images/darkclosebutton.png"; -const char ICON_SPLIT_HORIZONTAL[] = ":/core/images/splitbutton_horizontal.png"; -const char ICON_FILTER[] = ":/core/images/filtericon.png"; -const char ICON_LINK[] = ":/core/images/linkicon.png"; -const char ICON_QTLOGO_32[] = ":/core/images/logo/32/qtcreator.png"; -const char ICON_QTLOGO_128[] = ":/core/images/logo/128/qtcreator.png"; +const char ICON_MINUS[] = ":/core/images/minus.png"; +const char ICON_PLUS[] = ":/core/images/plus.png"; +const char ICON_NEWFILE[] = ":/core/images/filenew.png"; +const char ICON_OPENFILE[] = ":/core/images/fileopen.png"; +const char ICON_SAVEFILE[] = ":/core/images/filesave.png"; +const char ICON_UNDO[] = ":/core/images/undo.png"; +const char ICON_REDO[] = ":/core/images/redo.png"; +const char ICON_COPY[] = ":/core/images/editcopy.png"; +const char ICON_PASTE[] = ":/core/images/editpaste.png"; +const char ICON_CUT[] = ":/core/images/editcut.png"; +const char ICON_NEXT[] = ":/core/images/next.png"; +const char ICON_PREV[] = ":/core/images/prev.png"; +const char ICON_DIR[] = ":/core/images/dir.png"; +const char ICON_CLEAN_PANE[] = ":/core/images/clean_pane_small.png"; +const char ICON_CLEAR[] = ":/core/images/clear.png"; +const char ICON_RESET[] = ":/core/images/reset.png"; +const char ICON_MAGNIFIER[] = ":/core/images/magnifier.png"; +const char ICON_TOGGLE_SIDEBAR[] = ":/core/images/sidebaricon.png"; +const char ICON_CLOSE_DOCUMENT[] = ":/core/images/button_close.png"; +const char ICON_CLOSE[] = ":/core/images/closebutton.png"; +const char ICON_CLOSE_DARK[] = ":/core/images/darkclosebutton.png"; +const char ICON_SPLIT_HORIZONTAL[] = ":/core/images/splitbutton_horizontal.png"; +const char ICON_SPLIT_VERTICAL[] = ":/core/images/splitbutton_vertical.png"; +const char ICON_CLOSE_SPLIT_TOP[] = ":/core/images/splitbutton_closetop.png"; +const char ICON_CLOSE_SPLIT_BOTTOM[] = ":/core/images/splitbutton_closebottom.png"; +const char ICON_CLOSE_SPLIT_LEFT[] = ":/core/images/splitbutton_closeleft.png"; +const char ICON_CLOSE_SPLIT_RIGHT[] = ":/core/images/splitbutton_closeright.png"; +const char ICON_FILTER[] = ":/core/images/filtericon.png"; +const char ICON_LINK[] = ":/core/images/linkicon.png"; +const char ICON_QTLOGO_32[] = ":/core/images/logo/32/qtcreator.png"; +const char ICON_QTLOGO_128[] = ":/core/images/logo/128/qtcreator.png"; const char WIZARD_CATEGORY_QT[] = "R.Qt"; const char WIZARD_TR_CATEGORY_QT[] = QT_TRANSLATE_NOOP("Core", "Qt"); diff --git a/src/plugins/coreplugin/editormanager/editorview.cpp b/src/plugins/coreplugin/editormanager/editorview.cpp index 0eadf2f1fa9..2ffbc9a270b 100644 --- a/src/plugins/coreplugin/editormanager/editorview.cpp +++ b/src/plugins/coreplugin/editormanager/editorview.cpp @@ -175,6 +175,11 @@ void EditorView::setCloseSplitEnabled(bool enable) m_toolBar->setCloseSplitEnabled(enable); } +void EditorView::setCloseSplitIcon(const QIcon &icon) +{ + m_toolBar->setCloseSplitIcon(icon); +} + void EditorView::addEditor(IEditor *editor) { if (m_editors.contains(editor)) @@ -686,6 +691,14 @@ void SplitterOrView::split(Qt::Orientation orientation) otherView->view()->copyNavigationHistoryFrom(m_view); otherView->view()->setCurrentEditor(otherView->view()->currentEditor()); + if (orientation == Qt::Horizontal) { + view->view()->setCloseSplitIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_LEFT))); + otherView->view()->setCloseSplitIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_RIGHT))); + } else { + view->view()->setCloseSplitIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_TOP))); + otherView->view()->setCloseSplitIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_BOTTOM))); + } + if (m_view && !m_isRoot) { em->emptyView(m_view); delete m_view; @@ -750,6 +763,20 @@ void SplitterOrView::unsplit() } else { m_view = childSplitterOrView->takeView(); m_layout->addWidget(m_view); + QSplitter *parentSplitter = qobject_cast<QSplitter *>(parentWidget()); + if (parentSplitter) { // not the toplevel splitterOrView + if (parentSplitter->orientation() == Qt::Horizontal) { + if (parentSplitter->widget(0) == this) + m_view->setCloseSplitIcon(QIcon(Constants::ICON_CLOSE_SPLIT_LEFT)); + else + m_view->setCloseSplitIcon(QIcon(Constants::ICON_CLOSE_SPLIT_RIGHT)); + } else { + if (parentSplitter->widget(0) == this) + m_view->setCloseSplitIcon(QIcon(Constants::ICON_CLOSE_SPLIT_TOP)); + else + m_view->setCloseSplitIcon(QIcon(Constants::ICON_CLOSE_SPLIT_BOTTOM)); + } + } } m_layout->setCurrentWidget(m_view); } diff --git a/src/plugins/coreplugin/editormanager/editorview.h b/src/plugins/coreplugin/editormanager/editorview.h index 6106002dad0..2ae6b04aafd 100644 --- a/src/plugins/coreplugin/editormanager/editorview.h +++ b/src/plugins/coreplugin/editormanager/editorview.h @@ -38,19 +38,21 @@ #include <QtCore/QMap> #include <QtCore/QList> #include <QtCore/QString> -#include <QtGui/QWidget> #include <QtCore/QPointer> #include <QtCore/QVariant> +#include <QtGui/QIcon> +#include <QtGui/QWidget> + QT_BEGIN_NAMESPACE +class QAction; class QComboBox; -class QToolButton; +class QFrame; class QLabel; -class QStackedWidget; class QSplitter; class QStackedLayout; -class QAction; -class QFrame; +class QStackedWidget; +class QToolButton; QT_END_NAMESPACE namespace Core { @@ -94,6 +96,7 @@ public: QObject *object, const char *member); void hideEditorStatusBar(const QString &id); void setCloseSplitEnabled(bool enable); + void setCloseSplitIcon(const QIcon &icon); private slots: void closeView(); diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp index 1aeb7c6ad57..9c77a61305c 100644 --- a/src/plugins/coreplugin/editortoolbar.cpp +++ b/src/plugins/coreplugin/editortoolbar.cpp @@ -103,7 +103,7 @@ EditorToolBarPrivate::EditorToolBarPrivate(QWidget *parent, EditorToolBar *q) : m_goForwardAction(new QAction(QIcon(QLatin1String(Constants::ICON_NEXT)), EditorManager::tr("Go Forward"), parent)), m_splitButton(new QToolButton), m_horizontalSplitAction(new QAction(QIcon(QLatin1String(Constants::ICON_SPLIT_HORIZONTAL)), EditorManager::tr("Split"), parent)), - m_verticalSplitAction(new QAction(EditorManager::tr("Split Side by Side"), parent)), + m_verticalSplitAction(new QAction(QIcon(QLatin1String(Constants::ICON_SPLIT_VERTICAL)), EditorManager::tr("Split Side by Side"), parent)), m_closeSplitButton(new QToolButton), m_activeToolBar(0), m_toolBarPlaceholder(new QWidget), @@ -141,13 +141,11 @@ EditorToolBar::EditorToolBar(QWidget *parent) : d->m_editorList->setModel(d->m_editorsListModel); d->m_editorList->setMaxVisibleItems(40); d->m_editorList->setContextMenuPolicy(Qt::CustomContextMenu); - d->m_editorList->setProperty("hideborder", true); d->m_closeEditorButton->setAutoRaise(true); - d->m_closeEditorButton->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE))); + d->m_closeEditorButton->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_DOCUMENT))); d->m_closeEditorButton->setToolTip(tr("Close Document")); d->m_closeEditorButton->setEnabled(false); - d->m_closeEditorButton->setProperty("showborder", true); d->m_toolBarPlaceholder->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); @@ -165,13 +163,14 @@ EditorToolBar::EditorToolBar(QWidget *parent) : d->m_splitButton->setIcon(QIcon(QLatin1String(Constants::ICON_SPLIT_HORIZONTAL))); d->m_splitButton->setToolTip(tr("Split")); d->m_splitButton->setPopupMode(QToolButton::InstantPopup); + d->m_splitButton->setProperty("noArrow", true); QMenu *splitMenu = new QMenu(d->m_splitButton); splitMenu->addAction(d->m_horizontalSplitAction); splitMenu->addAction(d->m_verticalSplitAction); d->m_splitButton->setMenu(splitMenu); d->m_closeSplitButton->setAutoRaise(true); - d->m_closeSplitButton->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE))); + d->m_closeSplitButton->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_BOTTOM))); d->m_closeSplitButton->setToolTip(tr("Remove Split")); QHBoxLayout *toplayout = new QHBoxLayout(this); @@ -181,10 +180,10 @@ EditorToolBar::EditorToolBar(QWidget *parent) : toplayout->addWidget(d->m_forwardButton); toplayout->addWidget(d->m_lockButton); toplayout->addWidget(d->m_editorList); - toplayout->addWidget(d->m_closeEditorButton); toplayout->addWidget(d->m_toolBarPlaceholder, 1); // Custom toolbar stretches toplayout->addWidget(d->m_splitButton); toplayout->addWidget(d->m_closeSplitButton); + toplayout->addWidget(d->m_closeEditorButton); setLayout(toplayout); @@ -240,6 +239,11 @@ void EditorToolBar::setCloseSplitEnabled(bool enable) d->m_closeSplitButton->setVisible(enable); } +void EditorToolBar::setCloseSplitIcon(const QIcon &icon) +{ + d->m_closeSplitButton->setIcon(icon); +} + void EditorToolBar::closeEditor() { if (!currentEditor()) diff --git a/src/plugins/coreplugin/editortoolbar.h b/src/plugins/coreplugin/editortoolbar.h index c432e1662bd..b0164d496a4 100644 --- a/src/plugins/coreplugin/editortoolbar.h +++ b/src/plugins/coreplugin/editortoolbar.h @@ -37,6 +37,8 @@ #include <utils/styledbar.h> +#include <QtGui/QIcon> + namespace Core { class IEditor; @@ -79,6 +81,7 @@ public: void setCanGoForward(bool canGoForward); void removeToolbarForEditor(IEditor *editor); void setCloseSplitEnabled(bool enable); + void setCloseSplitIcon(const QIcon &icon); public slots: void updateEditorStatus(IEditor *editor); diff --git a/src/plugins/coreplugin/images/button_close.png b/src/plugins/coreplugin/images/button_close.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d37fd18c5350c8746c4874eabbf5cc304e4cf1 GIT binary patch literal 1170 zcmbVMTWHi+7>;eH$aDpZXtl_iO<8^EB<GBinI_w@b4#`Zov};@9YL0+$!RCHxtN^p zq(yM*s;sb}mco`ryg)&phQ0`19`wN%FNiOK__XMY3Zm$PE(qO|PN(`%6bvNiKj(bk zfB$o8F#qd@U}un`s14cvOo6N${davU`R;hXq>yDBmP&ZY8pRdGK~z$+Mi8AflrdC5 ziZ*rlF6yPI=CWQa;ZkluR4s#5d<^RuHepj#Z=Yu?>Nvvm2pZGPIP>P_Er!;$IJ2M6 zft;O2WxapeK||B|qB=dU3L4Y5hwk-6qQF2{p*>^5bVV=DEbA4C>>qOsy$r$Qai;E6 zDK|)`EeFv&3qmT0LOL2@VFU;fp_>i^2sjw#Kr94-$j3wg>6M2e)*NkAEM(*rTVxk! z${5=s$5kp7wz8YGoG}gxg1~_=7Y>IABIHh)Sn)!p+ttvJL9XiPHr6eZ_BARa)+CNI z#M62RhMmi;DmLAfM3Izno?>&51)O2{aV?`=TtJ`QSQG6Qr)<O(kZVmkDyhe4SA$G) z_jN-)ka#2Rb#zh`Wg=s#lLj(zHWO#a4Xf#zD5qjFgs}*Sg+a6jLLrvqQ(;-|fl?Ik zJyJu*THJ6<5>jayM3TG!p#)P=AtlA2kmMl|deRMU)^xFAs;FUCCwA*xN&YHVOgl)y zmQ%E>iADzumMv_#Wy_}1Lp%%VoTBQcf8rOY9&ZLY`tL}S9m}AXGc4+BcpyvPioDL% zz9(xOafb8T<BN7_9FZRM#nt8~o7M3_CYc$B49Dz0H(WAUx3igK(R(`bX=$mi`RD4X znG|^2x=6d{`;OLH79J+9-%EV@@t)lN_uSl()As`(s@IzS49s|&XFm>HDFtRP&9l{G z2NK(Zci6<a*2gcJHeWbVn{O97XMU@~z}a)%>#sg;8U5u^TT65M!s4b^l{4#JzR2&| zxn=Im6LvxF>Q4(BFPwPh96b4N@Q<5=9rKC*#xBBzfq|_LjvuNeoMfOlvGb>n<EiIM t-LtQM=&ym+XW(MnK9wI%ylYBS*HM3M5g(kq9L)QFiL8{*)KbI8{s(|5dOiRE literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/filtericon.png b/src/plugins/coreplugin/images/filtericon.png index 3fae2defdecc62af31371f25c2e94ff7e509163e..76a833690ba8201afb37f20b2fde4e5abeb8df9e 100644 GIT binary patch literal 1079 zcmbVLO=#0l9M6~(oeXwx;6zx=5IxxBz1Xx(SRMU}E39>P1$z?H<ZTUW@?!F4v+c6U z1P6**LBz`hQPhLXlLrr;9C+HUdJ(*M^8-Ot2J@vK)5DlxAbJ1y&;R%Pe=m<0PWSd4 z>R}kBH#eFo(z7pk_lD?q@Y|L~j{%Y`lL<UY>Y9s~q=74l%~{$MDk9C8z4!(VGfa2Y zER{()Kc?u|;<dnr_brE_8D@CIcQkz(5w?P+Ogq7Se))=HO(Vgblky<%q*2uzopaH| zT%n}TP3yA3jhteKeT5QOh-j>D)of4k6I_#5p>m)WIJRj*rW0H%sB(UsO=B0a5)Z;U zh(b0R;b8>G5%~lw0tf^s3LqASK#^h!fNcBWs5jS`REin3?Tg+LT$K<<5rlfZ&eu=! z*qsufEXx8A1yKxBi?BCq6U`6X-cW}jgFM|e9b#ge4H&fwo*@a2M%qfja`O3YV%uvM zik3|9HAjFv5G*Umt7+|#BKi}?j@Djj)<HrMd3eUvX+I{1I$&D6-5mvnG#cfMYtp7@ zwG7s0EM${hCc)7^ykQ!Onu@6q#v&jlf@mB<IhK@CqN>JWHVUM8w!^U#HX^1(Q3kO{ zQj#Ie!c<gFWn)lIN{|ZibO)QWJ)+q<>i9LO-!?Y7D^^LnNF&%SVO;A>z<3oC>{YSD zrY9sGvUyE6?LZSWsFiO9x#lHgs4lkHW`z}VhX~Z{zcO!OjsK~dK!Xv2@%U?8Ix0GY zfw(>V^s>D^$fi5v(&f0fXLX(~7Oh#b<iD$IZf%WpA6-~pOo1<<)rG4c*H>;I=xa0@ z*N%to@Bh$!@XlhTYiT7h|9x<6?aK2fM;<TSJbbq2>%iDXG<E(#A=2powQ*PHj(xiI pbL>Yg^P>OJzPDhlYyCRY6=Ghi?{6$UeYhE{axPoQJWE};{2PiBSRMcX delta 447 zcmV;w0YLt@2-yRWB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$RR!KxbR5*>Tld(&~KorJb z;?at&1{A@e$z~@@p__w(AP&0u2Xrb~1QEf%rg124fo_IQS$_n#E)L0JE))uZK++Jp z9Fp8~sT%bnh5F!w<Gb(s!Gk*q5n+{)S8D$UfE3P^EX$sj=)4g^jzxehilV)Kzi+v& z8;hE)R%^H0?VdFnjV}`sKNSQ4HBIvZ05(J#jYj9w>68{b-vG94TX7r@5s?)Ag-DVl zL(8%rO9Ab6`+tN|I%bUB{sb__t|_JCX0v%(3IG6E*Y%qyid;lIEZlWwvzgQD_3i** ztrW0;Y#D}epCrjMB5osMZ9bpdgTded0Cs-m1-nAETHOzVz;hhu$n(5|FbsV~Q97cm z@F6kAUODG5nM`WF@2_*t<upxSL|Gy-KSotmtzNHh{y3E>1>||2X_|H=%QB{EnwRCI pvfn64(j@>?3YLk8d}+Y4^9}(sHK~O6IbQ$(002ovPDHLkV1jb?yx;%; diff --git a/src/plugins/coreplugin/images/linkicon.png b/src/plugins/coreplugin/images/linkicon.png index 4e4d4f7b7fbac77c23076501afd79910395a5fce..786c8d65ba995e2a8c8d591a3151f66b16400565 100644 GIT binary patch literal 1114 zcmbVLTSyd97@nwPlLTKau+xYSkvlVI+>0~pDtnpHE!SjsL#Y?XnWH=C%o%5n?J7Z` z4;5h)B|Syag&?rkN`rhXh<fb`Wfw4l9(*w<?2NkBgA_C{bN=(s|9$`cOm|m%P4%v7 zhGA+l9qAlBYyCG+MZbHNRy2Cl5v7;p@c=1lE@Bb}?nfYFX@e+-G-GV!35qey)}mSH zCB4~BS;rQq`8HhHawwW%Vr^wd(}xfN{b<m%<LtM&M=UUnINKA>3Rx$Gie|^Si}K@L z1$}%-mkhS86~xLiC9n|DK-n6$J-HlbS9xVB`)ZyAt0rV9&aMU3o9zZE>>?26grF`& zAc%xG7!stA)C5EU3Op2fAsU2&9FEEY1nUn=y}8DKoJ*_gzUVE^771}=o-dV3T&bDE z?jR2(N#X^O7sVj82zp~S(aJ&FYp5`!k*B++LriP~pHb__qa@DKNY_%ZoNRW3*!I>7 zMN7t)HHU|sz+0A|*Q&Kga_Dy$n_7E?F$eKE<l#|Qr~MdcsDNqh{_e;(q|wNST$46M z8%|?=)Iv7Nq~k38!x^R_tI4PeVKgK}MIq7xp%hJolcK7&KqVrCTa*gNW>_(*NXe8M z3MIl4gbGYXq@)ssQX&kg(2}ZPGqy)GTSpbYCiT0HZT>4(PPs@U*ezf@T$zCGA|}`? zVh5!1VGe?<rkl2}@f)<3ZyLGgF=VJNw!mtIWpk4VROMfpuVIb<sTxm%;r;RWV_YgK zI)lErG5qwhu|CMAJLA&jsK>8)x>%<(=|rLY>dnQY)$?HIwzmt74_DsD)Z?`WUlgw` z_avGc&wZ%c%PtPY7Tq7r`S0yB(|Kjzr@;J|iI;&p7XqOzvvsFZ$s1PH5g=>t^y!hl ztF4nt{q~=`FJ-Uq?^?dieH9<y{G9ygOx>EBIDB??p{Aqez~w9Qq{p0?>OA=@aPRqp Y9Rl-oMqMi0Pv!k>&nR8#yUD(ZUw!Ons{jB1 delta 567 zcmV-70?7T^2+#zOB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R%}GQ-R5*>TlRs!$Q543% z`=Y!^q!Bt4hae8YkWOuuw%Gy_NQk%<C&$)O2rdO<hhXVaI)8Mr9YV>Jy$#7AC{L5n z!AL49;$HAih4<{W+`i|-cREz*i&$E)2fpQ;`~5hab1owy%o5T}?*9RBOv%jySeVF} z0QlbkHwS~k698M2V28s2Ns@{H-UGP0Mj#>(5h|6+t7^6SAsUT_0o=38@AvO0it@s; ztYadQ#vUU21%CkG>2|y2Mx(J}FOKA?*Xy@}!Qf`U-_H@z1`)}VfR$dacSc0FZN_yW z#F4J+MP1iFan3JI)BI)_#%Ig2&WLD_h&<yhd@q;F7XY3Cc%UfCs;a7QbGh7?SS<E3 zkx0C$)oQh7vssj7`DrK=de`Z60stP4JDBtNeB0S<c7Km^{*iNDHw>dIgeV9h3aYA} z=kxi4OePZ;y}uEU#~%-e!;{~`0Gt5)0M?Sp<Zip&RsgJx6ae6|&nBHtKjNGpvuUU7 zbUN>AnzrwDyR!gJ0f=iyVVcXWR_nRT<vN@SV2pVqk;q0WmAdQodhamC=4@+cnx_3I zl}d$hI57NrDqsXz1h51^o+uH3uK=1vWc?BFuQBsy`U#m-9W~Vh6zTu~002ovPDHLk FV1lp61lRxo diff --git a/src/plugins/coreplugin/images/splitbutton_closebottom.png b/src/plugins/coreplugin/images/splitbutton_closebottom.png new file mode 100644 index 0000000000000000000000000000000000000000..08a7dda4754f69ff03d7adf1ae28b1aa9077b080 GIT binary patch literal 1080 zcmbVL+iTNM7|$4tu`y64j_t)mh7-Xi=VVRWgw@hpT+q(a71pO=nw+j-%Vo)#ZTBE^ z4$=J+0}(+G2jYt;I^2T{L4EK+L<FA%UljJ}WuEjheHarAB<DL{zTfY=-^@>)8|WM9 zV;E*Yoy-*Ic_esyd+7JX?w&@EVUjJ8X{SPJnunRB;gm5@Eo}}Lux2zCckl$mbXUz{ ziIj2|WZkhiEwJJ0mP^qLGm)sfnm&&SDC0TPj<a7MKVyMu#Mv1!2Xk&3SIx;~4^J;o z74_wLT{76jSujzTDS?HF2I|&=?aTEz+vJt09H@B~G)>5SoNWbF%H=`Y@h}iM7}8+` zfk>D`VJL;AGeCd{@<`xeG=!imMrDXV`(dd!_SjMDZ+Z*jIth%57atybe|<DBEo z@ko*+9tyl5gs4TxZ`eeuhiree!;rzg?wKwz9UBCUTG?45ah68fO2Kk-xqV{WZx@P| zjIV1hk2uI%R*+ZI+9w74CyWEF{bIw#d;$B;lBd&tR7N{sTD!v?1%@;l`J!jirf3Tp zM_;nAP1H=BrGGfXG-M?eRS=4XVN`&T7(!AsDW(KPiJ@!+im_~m;~;EUNC|=jm2gs& z5Xz!dL`r3&NJ@%`3bAwttJ*%%Y#n#}n$&L_n>`dOr#-9@$16I{LT3W<Rfjl!)p0?3 zTI3MOX}W0#nxH|gd^6ZHFJnXT91AonESm>Jpk)7*c?)a&Pt|xD3?GcgU*pnI(HRWH z{o$vV{q?~%-5HNA$K9uQUeLv=sF`H3{=WQUZ!gh(a%J%?bEE6^M&i`VW2&kuV?BLc z{SVCB)wM?>oBbc3G<G+tL*UxX=ImAR*U#@muZ|B6ZhuML<CxPu=Jny#^W(Gp*7LRe nJ9u<`?AG?mhllW+It;d$oj20@l~130gI!j$Q<?jzORK*Ds4!OE literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/splitbutton_closeleft.png b/src/plugins/coreplugin/images/splitbutton_closeleft.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3a2321eb4d3db54451a7f0f16965574125e1f1 GIT binary patch literal 1065 zcmbVLPiWIn7|$Gt=mzfQ^kB$VL|l{ix~6HuYH6F)73`dCVI6qbYx1^+HF+_4v)Q~j zL1Ch>qn^}*h!+t&h<I><7f(CvAb1du-W2pG%$NR|9>xR%$@|`y@Av!uZ_LhI7(ROP zD93TbrD?sw&g0R0<S_f5{;`YLF-na(t&&CBMn2|p7HMF<<e(*7!N^*@`T<XI++fqL z)oHzaQ8S4nqR2)J9gm?oZYmpk$Xv#hZ{Q`{%?RJ#ycKxc$_R6E8I-*OZrampKCZ6K z)XcSIQ?-Qbd44L?7=eQ+;zOt923nXAI=mW_Bef*(9TU2o5xPOu%d>oe_?VYP5H~>z z@~NZ<lR!<X6MO<dAi;zLlsE*MtY`r8y+>f)d}~pw=*6BdcFPD&N<B@I+U>U3o)n3{ zBtcbGC6JI3i8!-}2dgecVcZSI`V2Y_OyBmXO<X==L=Cb+GXjgWn}Xw&%X`Fb&?^)x znG_;Vf+CO{C(5g19ncE?6UM&QL2cE;QUwQO#Wz_$7RUNvR=a~8MTRUI?UHY^rl6Ki z%oPW_w4`SQ_D8gAODpD;B7{m3C<%~CL#Qe_IiDyN)6hr(Ic@Yg_QNVbhI)Q7oy^H9 zga*u~)V!fUH77$Rqzip)$qguSP2BfuGrv8oav)YK_!v>**9d9#Ct$WoC<&Ux;|o<; zgnSv9wi{`p26gk*v2S0)R?#O8->I->?-N1M_*dp#to1)tlUOiPG#-DAOJBuiFcSBM zpI!FW2fJ)%e6}2q<)2U4V$GHGTrK?6__e#69gN-BSkHr@p@o5w?T6Vj=f-2P*y#MG z`o5Web$8>0F@9^{*=O|b$>@W7+t(+)t{>W&Zrumy*!-QHfwQ+?Y@Q0iR{G295q^ui W@+kJPdindyXn9M<jQ%{oaPv3fJ587X literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/splitbutton_closeright.png b/src/plugins/coreplugin/images/splitbutton_closeright.png new file mode 100644 index 0000000000000000000000000000000000000000..91e62e9358c7d3ed6a9b8b62c124c6f35e265dfc GIT binary patch literal 1068 zcmbVLO=#0l9M2et&JEPt6lRuLWNb~|>zbwstF>twS6OH23f2!~ugU8gw|p#lTeEqv z3J!PGqX!Xp7Vm-%Z=S@HA9v3lybANBAJfB_U?6$__s{?L`+x707p{y9ogHErW~4Z$ zRp@ytdXFEY-}68B5j{ppp+*+n25BK5Gda_(W436cWn96?++6#BXBlR&X;o{aR+?7~ z*XB`V!-uv<(F`-24LxM6V8Yh%vgKsBA8+1qtYv1n>tYF%ygY7Nb6Y-M+*+s_TPuca za@kAlY^YEI8xzEa_No&oVTSAQDpZct0>^et$V!Im230GS*}UsxR^&n404d0(k~~ZT zIVn%G2>^ir69SOp5GbOg0Lb<pj(YRWhEmb=o-caKa7{uyMG#u87T=oTU4L1CvMdWA zAtVxUY7q}M9fHER6HN3OG#nVd<q^wu*oYC;-F1@TXr$c~Y_C*0Aa;UYp=im35P1UR zfneKFULEUzRPdiL4z&)dn;sS_IB?f}gZ85_(FfDo9qlMGq|qqXe2X>(t!l2ZZexcO zwG2o9@TO%dx+>`qN=YCkKq?KPEagNsq3dZ_NC7cj=yM!~m4FB}bta$8i86!*sHSAK zAVE1NLMo*5eQePQ2yzVE_iItVJ*;{pR>}Jq5!bJ}?rMJm%1xKJLDTiv{G!N1wuB7J zi8N7zy7_9@w>Ge;`>xG)Dy&$CM4%V`m3bFy{!i5e8jKK)$6w>pSJ4@a#Dn3dmxJ}e z4&51_F2|RXw=}v~H;Y=X8h)$)+TYI(#@ag%R4_ceG;sRk^X$c`3$a*i^v3HGXI_pr zCO_TT`+oJwd*<2r^zL0|XZ+sNM`iZKx$QB1es^2>irP~fwZ|j&?e^MUFmbs(z#ujD TdF=k%$!LFzg$3=Ey7cfj_qIwR literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/splitbutton_closetop.png b/src/plugins/coreplugin/images/splitbutton_closetop.png new file mode 100644 index 0000000000000000000000000000000000000000..a76b91dcd9483224441ae4b5ff4b50a30e97cd07 GIT binary patch literal 1083 zcmbVLPiWIn7|#$y<_7K{Y<e(c7Dd-2FE&jRR%_EVuCi{UE3CUMP2Se9CNCy$Yqrz; zgSg>A#LEsMh&REbAPNc&#FHl#JjnDQ-gfY!sMMEsogT&n1Ihc|m+$xc{;y7qo$u{F z(oIoRZ(&3$k@HaW9@tO5$G$cVatz>n1y7<`+%SAdWi3>Nbipy^U<n%5(#2PBn4<R8 z>~aNHild5&9M*_z*wFC^nxcj?p=X%$5YtsSXS-=;>&Y{QwyiWXB^LRjmxDEXWZ8$4 z%VTA8dES&QCUce^4i!S+Ky1*VQ+ER;OfxNBg~*YbW9XI%o=-FFpen@)I){8ni!2{E z`6Qr|2^J)HIUx_x0uOi&2pliP0k4RX!UKByVTd>1npH}gzU_<L(o79wPvN*mqro=L zu*jd|fGo=#FK~hoCl>Kw$;Cz(cZ0zWg9ZcBw>@klmyQ^XDq6s4hD6#<!SRa49bz}w zE)*#l7aAT1Se|p7D6f`vfJ^XC7`s{r<s}btB^aOu-z5E*9qfQf?e=yQ8Iov}ao;9Q zG3pvJ7aZu~f|h2;AJ(!hMOP&q04c#s0-sC)AWK<M6?8oX@=0Dy<vSd^VH1KX2r{oG zvZ4$?9;iuK%}YSeihu~ITnAfl18le^?D(~b-)(GmPpp#jp@ETKMyTGIfQcHyD5xQi z&P|Fepo@lSyOAbpP&;1@`t~BUbRRi%tHO%CO9XoUUzxYD*8fzEBf)Udc>Fak9Tl0u zNZc8Ia@koQ=#riB$#Uebe00fT*##|I4&PUQHk+A!v6a<JD&NyH)7AI-Zsx@4<FQz5 zVEU$fzjkeU?cG82;pzAB#r~E0w_iV`?3N*JzIia!Twh-wnCahmdGz|1bEBg-`aXB7 s#tZG_?bS8?!o6Fcu5P3@ANSGEsYj=V4tL$@e;ciHAwQ-)RA(;#28i@n9smFU literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/splitbutton_horizontal.png b/src/plugins/coreplugin/images/splitbutton_horizontal.png index c85a093f2c3250786c13994bef3910d19824d650..de424460c45e100245028b7654773a63442417d1 100644 GIT binary patch literal 1060 zcmbVLJ#5oJ6n0fqA!tPrNT@6vu0R4c_MIC$vDFZg*d~!kiPA`9tYcpjtF_PASK@XG z2!={!K`?h>t;B+a7@z|}Ofa)D022cP3sO1fr!Z7S;w1at-F@Hte_OT18&fCFpWrxd zs#4bLY@bfP;}h(E;m5wkwi#+P=@MC?T`R;~!67XSDxTHGb!<5sci!U#jvMc|jV5hY zZ)!I21S`P^u@^8l$1UXJz_M2{1ufim{T%=O)oUKOPL97VS79|M;f`D04Dr(DV#D5C zwN;1DUjqxV#uRv%S|Ik;{78#)d|$7|<m6i9K_5a_bNs-mX0--NB*Z`#V9JIH0!msy zX{e^vIUqp<MI?zZlR{9FGa5u-xOiqQbXK&wZVqj+Q;zRY8fc=}?RJIkyg<UXh*VV- zp(ILDiXl?bhEJ_H<wvt44LXkO&<&_de2{3gT4bH(c;@LK1TUyo4;1^+Fi|XJVr&H> z5}@dLNnCw&MC<sE8;7E!#zug}I*!PCXtR2(%#O$`cSjpafXo~1R_L;#SZg}5*FEgh zik{=yi{QA9W)?FhLYXwoNKnZlq-F|oQ8LXeG88ChjggMSxY<%#(sg4#U656T3{+Iq zqLD#rK}Jl-mPXu)A5qJ<@yM>r><+ookzB15VvCZnLCD&u18N;YNz@?$C@skX0#(a) z{p2Po&>&tNhwfeMm?7~%Kf{`PhzF+eugC{n=YO&$GH1l3J^pH!(G}~#L_BDIb~qRx z?6a8(*>Kd_AIog8>J`1vh(EP{?eFKuFZH(W72)LM^4RGQJNb7rkJ;KjHudJ&^v>S+ zxrwj4t&4A8o_#o`DCJWppDTNFoNK<=*1q+g!0SJ+e(rrSd)zozd3xp1W%A%mGPf0D KQQs{t-~SD!5J{W> delta 381 zcmV-@0fPRd2$%zqB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R6-h)vR5*>L(=kqkKoADt ze|U%@xHL!sM}U$$cmq!25ll43#>=QJjog3>5FnvI%tjkr#(%~b7unZ9Ibpu}X9C2` z*z;Jsx&hc5wMzh=;r(|2Z+{E4TEPeK1Yj}%rvR>wB{&(!QKV^lyY38vz^<z5KFhN6 zwrxL6fMVuD-}lcO(+^V0JI8Sx0KdTchzx)X@fm<MP5O501Pc*a04@v&gb><*e}H9K zHZ#9$^ezC9BzDPhU|ALw$MMb9^t!Ge!!Xp=UIR=-WH=(Eln<`!Y6�EX#$+bVGod zIf^24f?*i=2X#z<=jk7*1{6iXUDu65h}SJ(p68FIX_OHFz<HiuE2Yl103!PGeP3#| by}$D}lVWA`4x$c}00000NkvXXu0mjfk+_~K diff --git a/src/plugins/coreplugin/images/splitbutton_vertical.png b/src/plugins/coreplugin/images/splitbutton_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..4f78506cf0d07f635c0a834204194d06110687c7 GIT binary patch literal 1067 zcmbVLzi-n(6m~_6P}NE>p|W5(Dig8q(m0N-hLFTIjf6{;Mj}Xnda<vG)!66SSK?L- z0j5e!Ol+{Su&{s_K%lB(p|GL;2Qa|EidxP|Qy8iuagu%S?!NE+ewz#PS0=~LjdL6~ zS)J2sY(JfRr%tl}`JelUZBx`}&_%LLyC}q5$stY5S3T6iHH@6~)em@<<4&~QdV@Bs ztC~$b5hWNg_5#M{xY=SHAbSN<zKL6|Ul4x0ek1U%QxLAp7O;W}Zo6|EAzs{=uiG0d zw(1DQOZ;rCF$Er`h>yLFA8Bzx=<C&(oLox+--pnZf-rEZVJ+|#5@KE!LD~j6$mg;m z%mOv5UgR?X0tsd$prj$tWJLpzKUe~@7COsXO*ap0u~R{4QyOTJ)a`b~?u<ynmIPH* zl|V+yWYP?gj@EsO;<O*7h8lDn*`XUym-u|55jDvgEeOohK?q)8S%-@K=pa!nWm1d+ z35r1Syd<tZI-)iF$BiS=QGGqYQVmCBEwouZmQzDA%iZyY5+L(NyB4~vD5#?od(Fc> zt?C7Vy@-zMXl7Y4Ayl$J$$(rQLRBfr<&0_Op^*b}-WcjQimLz_>g6oRmShz|1D11Y z*-)Tbk|7iFl_9t4M-=%s9@=%8-2r#TJeI3fLX0R0>x6WM9k9?QltgV3@RdbbguI1p z*H3Pe0uAETap>N`ju{e<?`K$ZkMO`W{uTLv>-<mFB<75iw8vlVGQ46vn23kX&kl#< zgMBtLAsddDpOv$0ux?cKQa#>n{@UL!o|x`!-YbKNiKUS<J5P$+Q;*ns7+c)dyBDpU zy$9{PotuyMQ1AP#Z==Gq-1{$2xeL2oqtnZ#wkNi3FO3>w(_ee5Z==-Z-U#Q;*Itc% RtbIzxw`$Dm&&x~qe*<W8P+|Z8 literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/navigationsubwidget.cpp b/src/plugins/coreplugin/navigationsubwidget.cpp index 8181190976c..88fcb65ef45 100644 --- a/src/plugins/coreplugin/navigationsubwidget.cpp +++ b/src/plugins/coreplugin/navigationsubwidget.cpp @@ -88,7 +88,7 @@ NavigationSubWidget::NavigationSubWidget(NavigationWidget *parentWidget, int pos splitAction->setIcon(QIcon(QLatin1String(Constants::ICON_SPLIT_HORIZONTAL))); splitAction->setToolTip(tr("Split")); QToolButton *close = new QToolButton(); - close->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE))); + close->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_TOP))); close->setToolTip(tr("Close")); toolBarLayout->addWidget(splitAction); diff --git a/src/plugins/coreplugin/sidebarwidget.cpp b/src/plugins/coreplugin/sidebarwidget.cpp index 5671a151a41..93f8b5ca471 100644 --- a/src/plugins/coreplugin/sidebarwidget.cpp +++ b/src/plugins/coreplugin/sidebarwidget.cpp @@ -83,7 +83,7 @@ SideBarWidget::SideBarWidget(SideBar *sideBar, const QString &id) QAction *closeAction = new QAction(tr("Close"), m_toolbar); closeAction->setToolTip(tr("Close")); - closeAction->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE))); + closeAction->setIcon(QIcon(QLatin1String(Constants::ICON_CLOSE_SPLIT_TOP))); connect(closeAction, SIGNAL(triggered()), this, SIGNAL(closeMe())); m_toolbar->addAction(closeAction); diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 1916a0bb229..5bfd80952f5 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -427,6 +427,7 @@ Core::NavigationView ProjectTreeWidgetFactory::createWidget() filter->setIcon(QIcon(QLatin1String(Core::Constants::ICON_FILTER))); filter->setToolTip(tr("Filter Tree")); filter->setPopupMode(QToolButton::InstantPopup); + filter->setProperty("noArrow", true); QMenu *filterMenu = new QMenu(filter); filterMenu->addAction(ptw->m_filterProjectsAction); filterMenu->addAction(ptw->m_filterGeneratedFilesAction); diff --git a/src/plugins/texteditor/outlinefactory.cpp b/src/plugins/texteditor/outlinefactory.cpp index 85ef0e4aa77..1af5354e0c9 100644 --- a/src/plugins/texteditor/outlinefactory.cpp +++ b/src/plugins/texteditor/outlinefactory.cpp @@ -72,6 +72,7 @@ OutlineWidgetStack::OutlineWidgetStack(OutlineFactory *factory) : m_filterButton->setIcon(QIcon(QLatin1String(Core::Constants::ICON_FILTER))); m_filterButton->setToolTip(tr("Filter tree")); m_filterButton->setPopupMode(QToolButton::InstantPopup); + m_filterButton->setProperty("noArrow", true); m_filterMenu = new QMenu(m_filterButton); m_filterButton->setMenu(m_filterMenu); -- GitLab