mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
* copy icon size to new GuiView from the last GuiView
* use small Mac combobox widget for small icon size. Otherwise the combobox is bigger than the icons. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23720 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
6688fc1f1e
commit
dd9a03b910
@ -315,16 +315,25 @@ static void updateIds(map<int, GuiView *> const & stdmap, vector<int> & ids)
|
|||||||
|
|
||||||
void GuiApplication::createView(QString const & geometry_arg)
|
void GuiApplication::createView(QString const & geometry_arg)
|
||||||
{
|
{
|
||||||
|
if (global_menubar_)
|
||||||
|
global_menubar_->releaseKeyboard();
|
||||||
|
|
||||||
|
// create new view
|
||||||
updateIds(views_, view_ids_);
|
updateIds(views_, view_ids_);
|
||||||
int id = 0;
|
int id = 0;
|
||||||
while (views_.find(id) != views_.end())
|
while (views_.find(id) != views_.end())
|
||||||
id++;
|
id++;
|
||||||
views_[id] = new GuiView(id);
|
GuiView * view = new GuiView(id);
|
||||||
|
|
||||||
|
// copy the icon size from old view
|
||||||
|
if (viewCount() > 0)
|
||||||
|
view->setIconSize(current_view_->iconSize());
|
||||||
|
|
||||||
|
// register view
|
||||||
|
views_[id] = view;
|
||||||
updateIds(views_, view_ids_);
|
updateIds(views_, view_ids_);
|
||||||
|
|
||||||
GuiView * view = views_[id];
|
|
||||||
theLyXFunc().setLyXView(view);
|
theLyXFunc().setLyXView(view);
|
||||||
|
|
||||||
view->show();
|
view->show();
|
||||||
if (!geometry_arg.isEmpty()) {
|
if (!geometry_arg.isEmpty()) {
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
|
@ -464,8 +464,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
GuiLayoutBox::GuiLayoutBox(GuiView & owner)
|
GuiLayoutBox::GuiLayoutBox(GuiToolbar * bar, GuiView & owner)
|
||||||
: owner_(owner), lastSel_(-1), layoutItemDelegate_(new LayoutItemDelegate(this)),
|
: owner_(owner), bar_(bar), lastSel_(-1),
|
||||||
|
layoutItemDelegate_(new LayoutItemDelegate(this)),
|
||||||
visibleCategories_(0), inShowPopup_(false)
|
visibleCategories_(0), inShowPopup_(false)
|
||||||
{
|
{
|
||||||
setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||||
@ -486,7 +487,10 @@ GuiLayoutBox::GuiLayoutBox(GuiView & owner)
|
|||||||
view()->setItemDelegateForColumn(0, layoutItemDelegate_);
|
view()->setItemDelegateForColumn(0, layoutItemDelegate_);
|
||||||
|
|
||||||
QObject::connect(this, SIGNAL(activated(int)),
|
QObject::connect(this, SIGNAL(activated(int)),
|
||||||
this, SLOT(selected(int)));
|
this, SLOT(selected(int)));
|
||||||
|
QObject::connect(bar_, SIGNAL(iconSizeChanged(QSize)),
|
||||||
|
this, SLOT(setIconSize(QSize)));
|
||||||
|
|
||||||
owner_.setLayoutDialog(this);
|
owner_.setLayoutDialog(this);
|
||||||
updateContents(true);
|
updateContents(true);
|
||||||
}
|
}
|
||||||
@ -653,6 +657,14 @@ bool GuiLayoutBox::eventFilter(QObject * o, QEvent * e)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiLayoutBox::setIconSize(QSize size)
|
||||||
|
{
|
||||||
|
bool small = size.height() < 20;
|
||||||
|
setAttribute(Qt::WA_MacSmallSize, small);
|
||||||
|
setAttribute(Qt::WA_MacNormalSize, !small);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiLayoutBox::set(docstring const & layout)
|
void GuiLayoutBox::set(docstring const & layout)
|
||||||
{
|
{
|
||||||
resetFilter();
|
resetFilter();
|
||||||
@ -962,7 +974,7 @@ void GuiToolbar::add(ToolbarItem const & item)
|
|||||||
addSeparator();
|
addSeparator();
|
||||||
break;
|
break;
|
||||||
case ToolbarItem::LAYOUTS:
|
case ToolbarItem::LAYOUTS:
|
||||||
layout_ = new GuiLayoutBox(owner_);
|
layout_ = new GuiLayoutBox(this, owner_);
|
||||||
addWidget(layout_);
|
addWidget(layout_);
|
||||||
break;
|
break;
|
||||||
case ToolbarItem::MINIBUFFER:
|
case ToolbarItem::MINIBUFFER:
|
||||||
|
@ -44,7 +44,7 @@ class GuiLayoutBox : public QComboBox
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
GuiLayoutBox(GuiView &);
|
GuiLayoutBox(GuiToolbar * bar, GuiView &);
|
||||||
|
|
||||||
/// select the right layout in the combobox.
|
/// select the right layout in the combobox.
|
||||||
void set(docstring const & layout);
|
void set(docstring const & layout);
|
||||||
@ -65,6 +65,8 @@ public:
|
|||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
///
|
///
|
||||||
void selected(int index);
|
void selected(int index);
|
||||||
|
///
|
||||||
|
void setIconSize(QSize size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class LayoutItemDelegate;
|
friend class LayoutItemDelegate;
|
||||||
@ -81,6 +83,8 @@ private:
|
|||||||
///
|
///
|
||||||
GuiView & owner_;
|
GuiView & owner_;
|
||||||
///
|
///
|
||||||
|
GuiToolbar * bar_;
|
||||||
|
///
|
||||||
DocumentClass const * text_class_;
|
DocumentClass const * text_class_;
|
||||||
///
|
///
|
||||||
Inset const * inset_;
|
Inset const * inset_;
|
||||||
@ -119,17 +123,22 @@ public:
|
|||||||
///
|
///
|
||||||
GuiCommandBuffer * commandBuffer() { return command_buffer_; }
|
GuiCommandBuffer * commandBuffer() { return command_buffer_; }
|
||||||
|
|
||||||
|
///
|
||||||
Action * addItem(ToolbarItem const & item);
|
Action * addItem(ToolbarItem const & item);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
///
|
||||||
void updated();
|
void updated();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
///
|
||||||
QList<Action *> actions_;
|
QList<Action *> actions_;
|
||||||
|
///
|
||||||
GuiView & owner_;
|
GuiView & owner_;
|
||||||
|
|
||||||
|
///
|
||||||
GuiLayoutBox * layout_;
|
GuiLayoutBox * layout_;
|
||||||
|
///
|
||||||
GuiCommandBuffer * command_buffer_;
|
GuiCommandBuffer * command_buffer_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user