summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2012-02-01 21:39:05 +0100
committerVirva Auvinen <virva.auvinen@nokia.com>2012-02-13 09:14:32 +0100
commitd3abbae211e13c245d1239d1ebfaab055a987712 (patch)
tree1aad334b0e4cc799ca52216d3cf150a5b17d7f92 /src/plugins/coreplugin
parentaf6b2dc6ae17aa9790c00f3b8ee3ba438e4e7aa5 (diff)
downloadqt-creator-d3abbae211e13c245d1239d1ebfaab055a987712.tar.gz
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>
Diffstat (limited to 'src/plugins/coreplugin')
-rw-r--r--src/plugins/coreplugin/core.qrc6
-rw-r--r--src/plugins/coreplugin/coreconstants.h56
-rw-r--r--src/plugins/coreplugin/editormanager/editorview.cpp27
-rw-r--r--src/plugins/coreplugin/editormanager/editorview.h13
-rw-r--r--src/plugins/coreplugin/editortoolbar.cpp16
-rw-r--r--src/plugins/coreplugin/editortoolbar.h3
-rw-r--r--src/plugins/coreplugin/images/button_close.pngbin0 -> 1170 bytes
-rw-r--r--src/plugins/coreplugin/images/filtericon.pngbin473 -> 1079 bytes
-rw-r--r--src/plugins/coreplugin/images/linkicon.pngbin592 -> 1114 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_closebottom.pngbin0 -> 1080 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_closeleft.pngbin0 -> 1065 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_closeright.pngbin0 -> 1068 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_closetop.pngbin0 -> 1083 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_horizontal.pngbin408 -> 1060 bytes
-rw-r--r--src/plugins/coreplugin/images/splitbutton_vertical.pngbin0 -> 1067 bytes
-rw-r--r--src/plugins/coreplugin/navigationsubwidget.cpp2
-rw-r--r--src/plugins/coreplugin/sidebarwidget.cpp2
17 files changed, 87 insertions, 38 deletions
diff --git a/src/plugins/coreplugin/core.qrc b/src/plugins/coreplugin/core.qrc
index 3157c4f10e..3af6f1c15b 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 88d3af79c6..904d6478e7 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 0eadf2f1fa..2ffbc9a270 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 6106002dad..2ae6b04aaf 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 1aeb7c6ad5..9c77a61305 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 c432e1662b..b0164d496a 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 0000000000..f6d37fd18c
--- /dev/null
+++ b/src/plugins/coreplugin/images/button_close.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/filtericon.png b/src/plugins/coreplugin/images/filtericon.png
index 3fae2defde..76a833690b 100644
--- a/src/plugins/coreplugin/images/filtericon.png
+++ b/src/plugins/coreplugin/images/filtericon.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/linkicon.png b/src/plugins/coreplugin/images/linkicon.png
index 4e4d4f7b7f..786c8d65ba 100644
--- a/src/plugins/coreplugin/images/linkicon.png
+++ b/src/plugins/coreplugin/images/linkicon.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_closebottom.png b/src/plugins/coreplugin/images/splitbutton_closebottom.png
new file mode 100644
index 0000000000..08a7dda475
--- /dev/null
+++ b/src/plugins/coreplugin/images/splitbutton_closebottom.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_closeleft.png b/src/plugins/coreplugin/images/splitbutton_closeleft.png
new file mode 100644
index 0000000000..2c3a2321eb
--- /dev/null
+++ b/src/plugins/coreplugin/images/splitbutton_closeleft.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_closeright.png b/src/plugins/coreplugin/images/splitbutton_closeright.png
new file mode 100644
index 0000000000..91e62e9358
--- /dev/null
+++ b/src/plugins/coreplugin/images/splitbutton_closeright.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_closetop.png b/src/plugins/coreplugin/images/splitbutton_closetop.png
new file mode 100644
index 0000000000..a76b91dcd9
--- /dev/null
+++ b/src/plugins/coreplugin/images/splitbutton_closetop.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_horizontal.png b/src/plugins/coreplugin/images/splitbutton_horizontal.png
index c85a093f2c..de424460c4 100644
--- a/src/plugins/coreplugin/images/splitbutton_horizontal.png
+++ b/src/plugins/coreplugin/images/splitbutton_horizontal.png
Binary files differ
diff --git a/src/plugins/coreplugin/images/splitbutton_vertical.png b/src/plugins/coreplugin/images/splitbutton_vertical.png
new file mode 100644
index 0000000000..4f78506cf0
--- /dev/null
+++ b/src/plugins/coreplugin/images/splitbutton_vertical.png
Binary files differ
diff --git a/src/plugins/coreplugin/navigationsubwidget.cpp b/src/plugins/coreplugin/navigationsubwidget.cpp
index 8181190976..88fcb65ef4 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 5671a151a4..93f8b5ca47 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);