diff --git a/context/contextwidget.cpp b/context/contextwidget.cpp index 9d80c89c2..c904f632f 100644 --- a/context/contextwidget.cpp +++ b/context/contextwidget.cpp @@ -102,7 +102,7 @@ public: } QFontMetrics fm(f); if (fm.width(txt)>rect().width()) { - txt=fm.elidedText(txt, Qt::RightToLeft==layoutDirection() ? Qt::ElideLeft : Qt::ElideRight, rect().width()); + txt=fm.elidedText(txt, isRightToLeft() ? Qt::ElideLeft : Qt::ElideRight, rect().width()); } painter.setFont(f); diff --git a/context/togglelist.cpp b/context/togglelist.cpp index d965fa3f9..300b29f9e 100644 --- a/context/togglelist.cpp +++ b/context/togglelist.cpp @@ -40,7 +40,7 @@ ToggleList::ToggleList(QWidget *p) connect(selected, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), SLOT(selectedChanged(QListWidgetItem*))); upButton->setIcon(Icon("go-up")); downButton->setIcon(Icon("go-down")); - bool rtl=Qt::RightToLeft==layoutDirection(); + bool rtl=isRightToLeft(); addButton->setIcon(Icon(rtl ? "go-previous" : "go-next")); removeButton->setIcon(Icon(rtl ? "go-next" : "go-previous")); diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 3e0c4f822..6ba324281 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -264,7 +264,7 @@ MainWindow::MainWindow(QWidget *parent) cropPlayQueueAction = ActionCollection::get()->createAction("cropplaylist", i18n("Crop")); addStreamToPlayQueueAction = ActionCollection::get()->createAction("addstreamtoplayqueue", i18n("Add Stream URL"), menuIcons ? Icons::self()->addRadioStreamIcon : Icon()); promptClearPlayQueueAction = ActionCollection::get()->createAction("clearplaylist", i18n("Clear"), Icons::self()->clearListIcon); - centerPlayQueueAction = ActionCollection::get()->createAction("centerplaylist", i18n("Center On Current Track"), Qt::RightToLeft==layoutDirection() ? "go-previous" : "go-next"); + centerPlayQueueAction = ActionCollection::get()->createAction("centerplaylist", i18n("Center On Current Track"), isRightToLeft() ? "go-previous" : "go-next"); expandInterfaceAction = ActionCollection::get()->createAction("expandinterface", i18n("Expanded Interface"), menuIcons ? "view-media-playlist" : ""); expandInterfaceAction->setCheckable(true); songInfoAction = ActionCollection::get()->createAction("showsonginfo", i18n("Show Current Song Information"), Icons::self()->infoIcon); diff --git a/support/dialog.cpp b/support/dialog.cpp index 8c40528a1..04ee5200b 100644 --- a/support/dialog.cpp +++ b/support/dialog.cpp @@ -93,8 +93,8 @@ GuiItem cont() { return GuiItem(i18n("&Continue"), "arrow-right"); } GuiItem del() { return GuiItem(i18n("&Delete"), "edit-delete"); } GuiItem stop() { return GuiItem(i18n("&Stop"), "process-stop"); } GuiItem remove() { return GuiItem(i18n("&Remove"), "list-remove"); } -GuiItem back(bool useRtl) { return GuiItem(i18n("&Previous"), useRtl && Qt::RightToLeft==QApplication::layoutDirection() ? "go-next" : "go-previous"); } -GuiItem forward(bool useRtl) { return GuiItem(i18n("&Next"), useRtl && Qt::RightToLeft==QApplication::layoutDirection() ? "go-previous" : "go-next"); } +GuiItem back(bool useRtl) { return GuiItem(i18n("&Previous"), useRtl && QApplication::isRightToLeft() ? "go-next" : "go-previous"); } +GuiItem forward(bool useRtl) { return GuiItem(i18n("&Next"), useRtl && QApplication::isRightToLeft() ? "go-previous" : "go-next"); } QSet standardNames() { diff --git a/support/fancytabwidget.cpp b/support/fancytabwidget.cpp index 4f6486821..ea3fc0d8a 100644 --- a/support/fancytabwidget.cpp +++ b/support/fancytabwidget.cpp @@ -650,7 +650,7 @@ void FancyTabWidget::contextMenuEvent(QContextMenuEvent *e) } break; default: - if (Qt::RightToLeft==QApplication::layoutDirection()) { + if (QApplication::isRightToLeft()) { if (e->pos().x()<=sideWidget->pos().x()) { return; } @@ -684,7 +684,7 @@ void FancyTabWidget::setStyle(int s) switch (s&Position_Mask) { default: case Side: - makeTabBar(Qt::RightToLeft==QApplication::layoutDirection() ? QTabBar::RoundedEast : QTabBar::RoundedWest, !(s&IconOnly), true, Small==(s&Style_Mask)); + makeTabBar(QApplication::isRightToLeft() ? QTabBar::RoundedEast : QTabBar::RoundedWest, !(s&IconOnly), true, Small==(s&Style_Mask)); break; case Top: makeTabBar(QTabBar::RoundedNorth, !(s&IconOnly), true, Small==(s&Style_Mask)); break; diff --git a/support/flickcharm.cpp b/support/flickcharm.cpp index 0a91fb839..df66ca8d7 100644 --- a/support/flickcharm.cpp +++ b/support/flickcharm.cpp @@ -247,7 +247,7 @@ bool FlickCharm::eventFilter(QObject *object, QEvent *event) int flags=index.model()->flags(index); if (flags&Qt::ItemIsDragEnabled && !(flags&Qt::ItemIsUserCheckable)) { QRect r=view->visualRect(index); - if (Qt::RightToLeft==view->layoutDirection()) { + if (view->isRightToLeft()) { r=QRect(r.x()+r.width()-(1+dragArea()), r.y(), qMin(dragArea(), r.width()), qMin(dragArea(), r.height())); } else { r=QRect(r.x(), r.y(), qMin(dragArea(), r.width()), qMin(dragArea(), r.height())); diff --git a/support/lineedit.cpp b/support/lineedit.cpp index c597ad5ff..2b72fab4b 100644 --- a/support/lineedit.cpp +++ b/support/lineedit.cpp @@ -63,7 +63,7 @@ LineEdit::LineEdit(QWidget *parent) { clearButton = new QToolButton(this); int iconSize=Icon::stdSize(fontMetrics().height()); - QPixmap pixmap(Icon(Qt::RightToLeft==layoutDirection() ? "edit-clear-locationbar-ltr" : "edit-clear-locationbar-rtl").pixmap(iconSize, iconSize)); + QPixmap pixmap(Icon(isRightToLeft() ? "edit-clear-locationbar-ltr" : "edit-clear-locationbar-rtl").pixmap(iconSize, iconSize)); if (pixmap.isNull()) { pixmap=(Icon("edit-clear").pixmap(iconSize, iconSize)); } @@ -92,7 +92,7 @@ void LineEdit::resizeEvent(QResizeEvent *e) { QSize sz = clearButton->sizeHint(); int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); - if (Qt::RightToLeft==layoutDirection()) { + if (isRightToLeft()) { clearButton->move(rect().left() + frameWidth, (rect().bottom() + 1 - sz.height()) / 2); } else { clearButton->move(rect().right() - frameWidth - sz.width(), (rect().bottom() + 1 - sz.height()) / 2); diff --git a/support/spinner.cpp b/support/spinner.cpp index a760c1b94..8c9be98cf 100644 --- a/support/spinner.cpp +++ b/support/spinner.cpp @@ -32,7 +32,7 @@ Spinner::Spinner(QObject *p, bool inMiddle) , active(false) { setSequence(KPixmapSequence("process-working", KIconLoader::SizeSmallMedium)); - setAlignment(inMiddle ? Qt::AlignCenter : (Qt::AlignTop | (Qt::RightToLeft==QApplication::layoutDirection() ? Qt::AlignLeft : Qt::AlignRight))); + setAlignment(inMiddle ? Qt::AlignCenter : (Qt::AlignTop | (QApplication::isRightToLeft() ? Qt::AlignLeft : Qt::AlignRight))); } void Spinner::start() @@ -148,7 +148,7 @@ void Spinner::setPosition() QPoint current=pos(); QPoint desired=central ? QPoint((parentWidget()->size().width()-size().width())/2, (parentWidget()->size().height()-size().height())/2) - : Qt::RightToLeft==QApplication::layoutDirection() + : QApplication::isRightToLeft() ? QPoint(hSpace, space) : QPoint(parentWidget()->size().width()-(size().width()+hSpace), space); diff --git a/support/squeezedtextlabel.cpp b/support/squeezedtextlabel.cpp index 45095508d..fa964aae7 100644 --- a/support/squeezedtextlabel.cpp +++ b/support/squeezedtextlabel.cpp @@ -28,8 +28,7 @@ SqueezedTextLabel::SqueezedTextLabel(QWidget *p) : KSqueezedTextLabel(p) { - bool rtl=Qt::RightToLeft==layoutDirection(); - setTextElideMode(rtl ? Qt::ElideLeft : Qt::ElideRight); + setTextElideMode(isRightToLeft() ? Qt::ElideLeft : Qt::ElideRight); setAlignment((rtl ? Qt::AlignRight : Qt::AlignLeft) | Qt::AlignVCenter); } @@ -38,16 +37,14 @@ SqueezedTextLabel::SqueezedTextLabel(QWidget *p) SqueezedTextLabel::SqueezedTextLabel(QWidget *p) : QLabel(p) { - bool rtl=Qt::RightToLeft==layoutDirection(); - - setTextElideMode(rtl ? Qt::ElideLeft : Qt::ElideRight); + setTextElideMode(isRightToLeft() ? Qt::ElideLeft : Qt::ElideRight); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); } void SqueezedTextLabel::setTextElideMode(Qt::TextElideMode mode) { elideMode=mode; - setAlignment((elideMode&Qt::ElideLeft ? Qt::AlignRight : Qt::AlignLeft) | Qt::AlignVCenter); + setAlignment((Qt::ElideLeft==elideMode ? Qt::AlignRight : Qt::AlignLeft) | Qt::AlignVCenter); } void SqueezedTextLabel::elideText() diff --git a/widgets/actionitemdelegate.cpp b/widgets/actionitemdelegate.cpp index c04e36eec..75261fe60 100644 --- a/widgets/actionitemdelegate.cpp +++ b/widgets/actionitemdelegate.cpp @@ -150,7 +150,7 @@ QAction * ActionItemDelegate::getAction(const QModelIndex &index) const } QAbstractItemView *view=(QAbstractItemView *)parent(); - bool rtl = Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl = QApplication::isRightToLeft(); QListView *lv=qobject_cast(view); GroupedView *gv=lv ? 0 : qobject_cast(view); ActionPos actionPos=gv ? AP_HBottom : (lv && QListView::ListMode!=lv->viewMode() && index.child(0, 0).isValid() ? AP_VTop : AP_HMiddle); diff --git a/widgets/groupedview.cpp b/widgets/groupedview.cpp index 1fe39b4fc..f47b4a3de 100644 --- a/widgets/groupedview.cpp +++ b/widgets/groupedview.cpp @@ -89,7 +89,7 @@ void GroupedView::drawPlayState(QPainter *painter, const QStyleOptionViewItem &o QRect ir(r.x()-(size+6), r.y()+(((r.height()-size)/2.0)+0.5), size, size); QColor inside(option.palette.color(QPalette::Text)); QColor border=inside.red()>100 && inside.blue()>100 && inside.green()>100 ? Qt::black : Qt::white; - if (Qt::RightToLeft==QApplication::layoutDirection()) { + if (QApplication::isRightToLeft()) { ir.adjust(r.width()-size, 0, r.width()-size, 0); } switch (state) { @@ -225,7 +225,7 @@ public: QColor fade(c); const int fadeSize=64; double fadePos=1.0-((r.width()-fadeSize)/(r.width()*1.0)); - bool rtl=Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl=QApplication::isRightToLeft(); fade.setAlphaF(0.0); grad.setColorAt(0, rtl ? fade : c); @@ -270,7 +270,7 @@ public: bool selected=option.state&QStyle::State_Selected; bool mouseOver=underMouse && option.state&QStyle::State_MouseOver; bool gtk=mouseOver && GtkStyle::isActive(); - bool rtl=Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl=QApplication::isRightToLeft(); if (!isCollection && AlbumHeader==type) { if (mouseOver && gtk) { @@ -405,7 +405,7 @@ public: } if (rtl) { - painter->drawPixmap(r.x()+r.width()-(pix.width()+constBorder), r.y()+((r.height()-pix.height())/2), pix.width(), pix.height(), pix); + painter->drawPixmap(r.x()+r.width()-(pix.width()-constBorder), r.y()+((r.height()-pix.height())/2), pix.width(), pix.height(), pix); r.adjust(0, 0, -(constCoverSize+constBorder), 0); } else { painter->drawPixmap(r.x()-2, r.y()+((r.height()-pix.height())/2), pix.width(), pix.height(), pix); diff --git a/widgets/icons.cpp b/widgets/icons.cpp index 62bff770c..522f48e14 100644 --- a/widgets/icons.cpp +++ b/widgets/icons.cpp @@ -551,7 +551,7 @@ void Icons::initToolbarIcons(const QColor &toolbarText) QColor stdColor=calcIconColor(); #if !defined Q_OS_WIN && !defined Q_OS_MAC && !defined ENABLE_UBUNTU if (GtkStyle::useSymbolicIcons()) { - bool rtl=Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl=QApplication::isRightToLeft(); QColor col=GtkStyle::symbolicColor(); toolbarPrevIcon=loadMediaIcon(QLatin1String(rtl ? "prev-rtl" : "prev"), col, col); toolbarPlayIcon=loadMediaIcon(QLatin1String(rtl ? "play-rtl" : "play"), col, col); diff --git a/widgets/itemview.cpp b/widgets/itemview.cpp index 60dbbf7ce..9087270d2 100644 --- a/widgets/itemview.cpp +++ b/widgets/itemview.cpp @@ -228,7 +228,7 @@ public: : image.value().pixmap(listDecorationSize, listDecorationSize); bool oneLine = childText.isEmpty(); ActionPos actionPos = iconMode ? AP_VTop : AP_HMiddle; - bool rtl = Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl = QApplication::isRightToLeft(); if (childText==QLatin1String("-")) { childText.clear(); @@ -410,7 +410,7 @@ public: QStringList text=index.data(Qt::DisplayRole).toString().split("\n"); bool gtk=GtkStyle::isActive(); - bool rtl = Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl = QApplication::isRightToLeft(); bool selected=option.state&QStyle::State_Selected; bool active=option.state&QStyle::State_Active; bool mouseOver=underMouse && option.state&QStyle::State_MouseOver; @@ -534,7 +534,7 @@ public: BasicItemDelegate::drawLine(painter, option.rect, col, true, true); } if (drawActions && underMouse && option.state&QStyle::State_MouseOver) { - drawIcons(painter, option.rect, true, Qt::RightToLeft==QApplication::layoutDirection(), AP_HMiddle, index); + drawIcons(painter, option.rect, true, QApplication::isRightToLeft(), AP_HMiddle, index); } } else { BasicItemDelegate::drawLine(painter, option.rect, col, false, false); diff --git a/widgets/menubutton.cpp b/widgets/menubutton.cpp index 2ba087a0c..3693abfaf 100644 --- a/widgets/menubutton.cpp +++ b/widgets/menubutton.cpp @@ -64,7 +64,7 @@ bool MenuButton::eventFilter(QObject *o, QEvent *e) if (QEvent::Show==e->type() && qobject_cast(o)) { QMenu *mnu=static_cast(o); QPoint p=parentWidget()->mapToGlobal(pos()); - int newPos=Qt::RightToLeft==layoutDirection() + int newPos=isRightToLeft() ? p.x() : ((p.x()+width())-mnu->width()); diff --git a/widgets/nowplayingwidget.cpp b/widgets/nowplayingwidget.cpp index bb0232c3e..c71a9c7f0 100644 --- a/widgets/nowplayingwidget.cpp +++ b/widgets/nowplayingwidget.cpp @@ -66,7 +66,7 @@ public: , showRemaining(Settings::self()->showTimeRemaining()) { setAttribute(Qt::WA_Hover, true); - setAlignment((Qt::RightToLeft==layoutDirection() ? Qt::AlignLeft : Qt::AlignRight)|Qt::AlignVCenter); + setAlignment((isRightToLeft() ? Qt::AlignLeft : Qt::AlignRight)|Qt::AlignVCenter); // For some reason setting this here does not work! // setStyleSheet(QLatin1String("QLabel:hover {color:palette(highlight);}")); } @@ -84,7 +84,11 @@ public: if (isEnabled()) { int value=showRemaining ? slider->maximum()-slider->value() : slider->maximum(); QString prefix=showRemaining && value ? QLatin1String("-") : QString(); - setText(QString("%1 / %2").arg(Utils::formatTime(slider->value()), prefix+Utils::formatTime(value))); + if (isRightToLeft()) { + setText(QString("%1 / %2").arg(prefix+Utils::formatTime(value), Utils::formatTime(slider->value()))); + } else { + setText(QString("%1 / %2").arg(Utils::formatTime(slider->value()), prefix+Utils::formatTime(value))); + } } else { setText(QLatin1String(" ")); } @@ -162,11 +166,11 @@ void PosSlider::updateStyleSheet() QString boderFormat=QLatin1String("QSlider::groove:horizontal { border: %1px solid rgba(%2, %3, %4, %5); " "background: solid rgba(%6, %7, %8, %9); " "border-radius: %10px } "); - QString fillFormat=QLatin1String("QSlider::")+QLatin1String(Qt::RightToLeft==layoutDirection() ? "add" : "sub")+ + QString fillFormat=QLatin1String("QSlider::")+QLatin1String(isRightToLeft() ? "add" : "sub")+ QLatin1String("-page:horizontal {border: %1px solid palette(highlight); " "background: solid palette(highlight); " "border-radius: %2px; margin: %3px;}")+ - QLatin1String("QSlider::")+QLatin1String(Qt::RightToLeft==layoutDirection() ? "add" : "sub")+ + QLatin1String("QSlider::")+QLatin1String(isRightToLeft() ? "add" : "sub")+ QLatin1String("-page:horizontal:disabled {border: 0px; background: solid rgba(0, 0, 0, 0)}"); QLabel lbl(parentWidget()); lbl.ensurePolished(); diff --git a/widgets/playqueueview.cpp b/widgets/playqueueview.cpp index 5804c19e4..9e6834771 100644 --- a/widgets/playqueueview.cpp +++ b/widgets/playqueueview.cpp @@ -107,7 +107,7 @@ public: bool stream=song.isStandardStream(); QPixmap *cover= stream ? 0 : Covers::self()->get(song, coverSize); QPixmap pix=cover ? *cover : (stream && !song.isCdda() ? Icons::self()->streamIcon : Icons::self()->albumIcon).pixmap(coverSize, coverSize); - bool rtl = Qt::RightToLeft==QApplication::layoutDirection(); + bool rtl = QApplication::isRightToLeft(); painter->save(); painter->setClipRect(r); diff --git a/widgets/volumeslider.cpp b/widgets/volumeslider.cpp index 964c37e36..92877ea27 100644 --- a/widgets/volumeslider.cpp +++ b/widgets/volumeslider.cpp @@ -144,10 +144,10 @@ void VolumeSlider::showEvent(QShowEvent *ev) } QSlider::showEvent(ev); } -#include + void VolumeSlider::paintEvent(QPaintEvent *) { - bool reverse=Qt::RightToLeft==layoutDirection(); + bool reverse=isRightToLeft(); QPainter p(this); bool muted=MPDConnection::self()->isMuted(); if (muted || !isEnabled()) { @@ -193,7 +193,12 @@ void VolumeSlider::paintEvent(QPaintEvent *) f.setPixelSize(qMax(height()/2.5, 8.0)); p.setFont(f); QRect r=rect(); - r.setWidth(widthStep*lineWidth*7); + bool rtl=isRightToLeft(); + if (rtl) { + r.setX(widthStep*lineWidth*12); + } else { + r.setWidth(widthStep*lineWidth*7); + } p.drawText(r, Qt::AlignRight, QString("%1%").arg(value())); } } @@ -307,7 +312,7 @@ void VolumeSlider::generatePixmaps() QPixmap VolumeSlider::generatePixmap(bool filled) { - bool reverse=Qt::RightToLeft==layoutDirection(); + bool reverse=isRightToLeft(); QPixmap pix(size()); pix.fill(Qt::transparent); QPainter p(&pix); diff --git a/widgets/wizardpage.cpp b/widgets/wizardpage.cpp index 704af7be0..7acfd795e 100644 --- a/widgets/wizardpage.cpp +++ b/widgets/wizardpage.cpp @@ -47,6 +47,6 @@ void WizardPage::paintEvent(QPaintEvent *e) QPainter painter(this); painter.setOpacity(0.2); - painter.drawPixmap(Qt::RightToLeft == layoutDirection() ? r.left() + spacing : r.right() - (pix.width() + spacing), + painter.drawPixmap(isRightToLeft() ? r.left() + spacing : r.right() - (pix.width() + spacing), r.bottom() - (pix.height() + spacing), pix); }