diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2012-02-01 21:39:05 +0100 |
---|---|---|
committer | Virva Auvinen <virva.auvinen@nokia.com> | 2012-02-13 09:14:32 +0100 |
commit | d3abbae211e13c245d1239d1ebfaab055a987712 (patch) | |
tree | 1aad334b0e4cc799ca52216d3cf150a5b17d7f92 /src/plugins/coreplugin | |
parent | af6b2dc6ae17aa9790c00f3b8ee3ba438e4e7aa5 (diff) | |
download | qt-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')
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 Binary files differnew file mode 100644 index 0000000000..f6d37fd18c --- /dev/null +++ b/src/plugins/coreplugin/images/button_close.png diff --git a/src/plugins/coreplugin/images/filtericon.png b/src/plugins/coreplugin/images/filtericon.png Binary files differindex 3fae2defde..76a833690b 100644 --- a/src/plugins/coreplugin/images/filtericon.png +++ b/src/plugins/coreplugin/images/filtericon.png diff --git a/src/plugins/coreplugin/images/linkicon.png b/src/plugins/coreplugin/images/linkicon.png Binary files differindex 4e4d4f7b7f..786c8d65ba 100644 --- a/src/plugins/coreplugin/images/linkicon.png +++ b/src/plugins/coreplugin/images/linkicon.png diff --git a/src/plugins/coreplugin/images/splitbutton_closebottom.png b/src/plugins/coreplugin/images/splitbutton_closebottom.png Binary files differnew file mode 100644 index 0000000000..08a7dda475 --- /dev/null +++ b/src/plugins/coreplugin/images/splitbutton_closebottom.png diff --git a/src/plugins/coreplugin/images/splitbutton_closeleft.png b/src/plugins/coreplugin/images/splitbutton_closeleft.png Binary files differnew file mode 100644 index 0000000000..2c3a2321eb --- /dev/null +++ b/src/plugins/coreplugin/images/splitbutton_closeleft.png diff --git a/src/plugins/coreplugin/images/splitbutton_closeright.png b/src/plugins/coreplugin/images/splitbutton_closeright.png Binary files differnew file mode 100644 index 0000000000..91e62e9358 --- /dev/null +++ b/src/plugins/coreplugin/images/splitbutton_closeright.png diff --git a/src/plugins/coreplugin/images/splitbutton_closetop.png b/src/plugins/coreplugin/images/splitbutton_closetop.png Binary files differnew file mode 100644 index 0000000000..a76b91dcd9 --- /dev/null +++ b/src/plugins/coreplugin/images/splitbutton_closetop.png diff --git a/src/plugins/coreplugin/images/splitbutton_horizontal.png b/src/plugins/coreplugin/images/splitbutton_horizontal.png Binary files differindex c85a093f2c..de424460c4 100644 --- a/src/plugins/coreplugin/images/splitbutton_horizontal.png +++ b/src/plugins/coreplugin/images/splitbutton_horizontal.png diff --git a/src/plugins/coreplugin/images/splitbutton_vertical.png b/src/plugins/coreplugin/images/splitbutton_vertical.png Binary files differnew file mode 100644 index 0000000000..4f78506cf0 --- /dev/null +++ b/src/plugins/coreplugin/images/splitbutton_vertical.png 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); |