Author: craig
Date: Wed Apr 27 21:15:01 2016
New Revision: 21250

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=21250
Log:
#13846: Rotate link buttons if RTL is being used

Modified:
    trunk/Scribus/scribus/iconmanager.cpp
    trunk/Scribus/scribus/iconmanager.h
    trunk/Scribus/scribus/ui/linkbutton.cpp
    trunk/Scribus/scribus/ui/linkbutton.h

Modified: trunk/Scribus/scribus/iconmanager.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=21250&path=/trunk/Scribus/scribus/iconmanager.cpp
==============================================================================
--- trunk/Scribus/scribus/iconmanager.cpp       (original)
+++ trunk/Scribus/scribus/iconmanager.cpp       Wed Apr 27 21:15:01 2016
@@ -199,7 +199,7 @@
        return QIcon(loadPixmap(nam, forceUseColor));
 }
 
-QPixmap IconManager::loadPixmap(const QString nam, bool forceUseColor)
+QPixmap IconManager::loadPixmap(const QString nam, bool forceUseColor, bool 
rtlFlip)
 {
        if (m_pxCache.contains(nam))
                return *m_pxCache[nam];
@@ -213,6 +213,12 @@
 //             qDebug()<<"Successful icon load from"<<iconFilePath;
        if (PrefsManager::instance()->appPrefs.uiPrefs.grayscaleIcons && 
!forceUseColor)
                iconToGrayscale(pm);
+       if (rtlFlip)
+       {
+               QTransform t;
+               t.rotate(180);
+               *pm = pm->transformed(t);
+       }
        m_pxCache.insert(nam, pm);
        return *pm;
 }

Modified: trunk/Scribus/scribus/iconmanager.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=21250&path=/trunk/Scribus/scribus/iconmanager.h
==============================================================================
--- trunk/Scribus/scribus/iconmanager.h (original)
+++ trunk/Scribus/scribus/iconmanager.h Wed Apr 27 21:15:01 2016
@@ -53,7 +53,7 @@
                bool setup();
                QCursor loadCursor(const QString nam, int hotX = -1, int hotY = 
-1, bool forceUseColor=false);
                QIcon loadIcon(const QString nam, bool forceUseColor=false);
-               QPixmap loadPixmap(const QString nam, bool forceUseColor=false);
+               QPixmap loadPixmap(const QString nam, bool forceUseColor=false, 
bool rtlFlip=false);
                QString pathForIcon(const QString nam);
                QStringList pathList();
                QStringList nameList(QString language);

Modified: trunk/Scribus/scribus/ui/linkbutton.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=21250&path=/trunk/Scribus/scribus/ui/linkbutton.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/linkbutton.cpp     (original)
+++ trunk/Scribus/scribus/ui/linkbutton.cpp     Wed Apr 27 21:15:01 2016
@@ -23,6 +23,7 @@
 
 #include "linkbutton.h"
 #include "iconmanager.h"
+#include "scribuscore.h"
 #include <QIcon>
 #include <QPixmap>
 
@@ -30,10 +31,16 @@
 LinkButton::LinkButton(QWidget *pa) : QToolButton(pa)
 {
        setBackgroundRole(QPalette::Window);
+       setNewIcon();
+}
+
+void LinkButton::setNewIcon()
+{
        QIcon a=QIcon();
-       QPixmap 
closedPixmap(IconManager::instance()->loadPixmap("chain-closed.png"));
+       bool rtlLoad = QLocale(ScCore->getGuiLanguage()).textDirection() == 
Qt::RightToLeft;
+       QPixmap 
closedPixmap(IconManager::instance()->loadPixmap("chain-closed.png", false, 
rtlLoad));
        a.addPixmap(closedPixmap, QIcon::Normal, QIcon::On);
-       a.addPixmap(IconManager::instance()->loadPixmap("chain-open.png"), 
QIcon::Normal, QIcon::Off);
+       a.addPixmap(IconManager::instance()->loadPixmap("chain-open.png", 
false, rtlLoad), QIcon::Normal, QIcon::Off);
        setIcon(a);
        setIconSize(closedPixmap.size());
 }

Modified: trunk/Scribus/scribus/ui/linkbutton.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=21250&path=/trunk/Scribus/scribus/ui/linkbutton.h
==============================================================================
--- trunk/Scribus/scribus/ui/linkbutton.h       (original)
+++ trunk/Scribus/scribus/ui/linkbutton.h       Wed Apr 27 21:15:01 2016
@@ -41,6 +41,7 @@
         */
        LinkButton(QWidget *pa);
        ~LinkButton() {};
+       void setNewIcon();
        /*!
        \author Franz Schmid
        \brief Returns size of QPixmap, see the Qt-Documentation for further 
explaining of that.


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to