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;
|
int l, t, r, b;
|
||||||
getContentsMargins(&l, &t, &r, &b);
|
getContentsMargins(&l, &t, &r, &b);
|
||||||
//are the frames in default state?
|
//are the frames in default state?
|
||||||
if (l == 0) {
|
|
||||||
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
||||||
|
if (l == 0) {
|
||||||
setContentsMargins(-2, -2, -2, -2);
|
setContentsMargins(-2, -2, -2, -2);
|
||||||
} else {
|
} else {
|
||||||
d.current_work_area_->setFrameStyle(QFrame::NoFrame);
|
|
||||||
setContentsMargins(0, 0, 0, 0);
|
setContentsMargins(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -47,6 +47,9 @@
|
|||||||
#include <QContextMenuEvent>
|
#include <QContextMenuEvent>
|
||||||
#include <QInputContext>
|
#include <QInputContext>
|
||||||
#include <QHelpEvent>
|
#include <QHelpEvent>
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
#include <QMacStyle>
|
||||||
|
#endif
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPalette>
|
#include <QPalette>
|
||||||
@ -248,6 +251,11 @@ GuiWorkArea::GuiWorkArea(Buffer & buffer, GuiView & lv)
|
|||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
setMouseTracking(true);
|
setMouseTracking(true);
|
||||||
setMinimumSize(100, 70);
|
setMinimumSize(100, 70);
|
||||||
|
#ifdef Q_WS_MACX
|
||||||
|
setFrameStyle(QFrame::NoFrame);
|
||||||
|
#else
|
||||||
|
setFrameStyle(QFrame::Box);
|
||||||
|
#endif
|
||||||
updateWindowTitle();
|
updateWindowTitle();
|
||||||
|
|
||||||
viewport()->setAutoFillBackground(false);
|
viewport()->setAutoFillBackground(false);
|
||||||
@ -298,7 +306,11 @@ void GuiWorkArea::setFullScreen(bool full_screen)
|
|||||||
if (lyxrc.full_screen_scrollbar)
|
if (lyxrc.full_screen_scrollbar)
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef Q_WS_MACX
|
||||||
|
setFrameStyle(QFrame::NoFrame);
|
||||||
|
#else
|
||||||
setFrameStyle(QFrame::Box);
|
setFrameStyle(QFrame::Box);
|
||||||
|
#endif
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
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)
|
TabWorkArea::TabWorkArea(QWidget * parent) : QTabWidget(parent)
|
||||||
{
|
{
|
||||||
|
#ifdef Q_WS_MACX
|
||||||
|
setStyle(&noTabFramemacStyle);
|
||||||
|
#endif
|
||||||
|
|
||||||
QPalette pal = palette();
|
QPalette pal = palette();
|
||||||
pal.setColor(QPalette::Active, QPalette::Button,
|
pal.setColor(QPalette::Active, QPalette::Button,
|
||||||
pal.color(QPalette::Active, QPalette::Window));
|
pal.color(QPalette::Active, QPalette::Window));
|
||||||
|
Loading…
Reference in New Issue
Block a user