mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 10:18:50 +00:00
* make lyx look a bit more like a Mac application by removing frames around the work area.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23459 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
37b429e347
commit
d8df65532e
@ -1906,11 +1906,10 @@ void GuiView::lfunUiToggle(FuncRequest const & cmd)
|
||||
int l, t, r, b;
|
||||
getContentsMargins(&l, &t, &r, &b);
|
||||
//are the frames in default state?
|
||||
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
||||
if (l == 0) {
|
||||
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
||||
setContentsMargins(-2, -2, -2, -2);
|
||||
} else {
|
||||
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
||||
setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
return;
|
||||
|
@ -47,6 +47,9 @@
|
||||
#include <QContextMenuEvent>
|
||||
#include <QInputContext>
|
||||
#include <QHelpEvent>
|
||||
#ifdef Q_WS_MAC
|
||||
#include <QMacStyle>
|
||||
#endif
|
||||
#include <QMainWindow>
|
||||
#include <QPainter>
|
||||
#include <QPalette>
|
||||
@ -248,6 +251,11 @@ GuiWorkArea::GuiWorkArea(Buffer & buffer, GuiView & lv)
|
||||
setAcceptDrops(true);
|
||||
setMouseTracking(true);
|
||||
setMinimumSize(100, 70);
|
||||
#ifdef Q_WS_MACX
|
||||
setFrameStyle(QFrame::NoFrame);
|
||||
#else
|
||||
setFrameStyle(QFrame::Box);
|
||||
#endif
|
||||
updateWindowTitle();
|
||||
|
||||
viewport()->setAutoFillBackground(false);
|
||||
@ -298,7 +306,11 @@ void GuiWorkArea::setFullScreen(bool full_screen)
|
||||
if (lyxrc.full_screen_scrollbar)
|
||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
} else {
|
||||
#ifdef Q_WS_MACX
|
||||
setFrameStyle(QFrame::NoFrame);
|
||||
#else
|
||||
setFrameStyle(QFrame::Box);
|
||||
#endif
|
||||
setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||
}
|
||||
}
|
||||
@ -1115,8 +1127,40 @@ bool GuiWorkArea::isFullScreen()
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef Q_WS_MACX
|
||||
class NoTabFrameMacStyle : public QMacStyle {
|
||||
public:
|
||||
///
|
||||
QRect subElementRect(SubElement element, const QStyleOption * option,
|
||||
const QWidget * widget = 0 ) const
|
||||
{
|
||||
QRect rect = QMacStyle::subElementRect(element, option, widget);
|
||||
bool noBar = static_cast<QTabWidget const *>(widget)->count() <= 1;
|
||||
|
||||
// The Qt Mac style puts the contents into a 3 pixel wide box
|
||||
// which looks very ugly and not like other Mac applications.
|
||||
// Hence we remove this here, and moreover the 16 pixel round
|
||||
// frame above if the tab bar is hidden.
|
||||
if (element == QStyle::SE_TabWidgetTabContents) {
|
||||
rect.adjust(- rect.left(), 0, rect.left(), 0);
|
||||
if (noBar)
|
||||
rect.setTop(0);
|
||||
}
|
||||
|
||||
return rect;
|
||||
}
|
||||
};
|
||||
|
||||
NoTabFrameMacStyle noTabFramemacStyle;
|
||||
#endif
|
||||
|
||||
|
||||
TabWorkArea::TabWorkArea(QWidget * parent) : QTabWidget(parent)
|
||||
{
|
||||
#ifdef Q_WS_MACX
|
||||
setStyle(&noTabFramemacStyle);
|
||||
#endif
|
||||
|
||||
QPalette pal = palette();
|
||||
pal.setColor(QPalette::Active, QPalette::Button,
|
||||
pal.color(QPalette::Active, QPalette::Window));
|
||||
|
Loading…
Reference in New Issue
Block a user