Skip to content

Commit

Permalink
Merge pull request #6 from autodesk-forks/autodesk/vfx/5.6.1/maya/201…
Browse files Browse the repository at this point in the history
…8/update1

Autodesk/vfx/5.6.1/maya/2018/update1
  • Loading branch information
BadSingleton authored Apr 30, 2018
2 parents c4e51d0 + 7ed1145 commit 38eba4f
Show file tree
Hide file tree
Showing 29 changed files with 448 additions and 238 deletions.
5 changes: 3 additions & 2 deletions qmake/generators/win32/winmakefile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -264,9 +264,10 @@ void Win32MakefileGenerator::processRcFileVar()

QStringList vers = project->first("VERSION").toQString().split(".", QString::SkipEmptyParts);
//it's "0" here for Maya2017, "1" for Update2, "2" for update3. "3" for update4.
//"5.6.1.2"->"5.6.1.3"
//it's 4 for 2018 update 1
//"5.6.1.3"->"5.6.1.4"
for (int i = vers.size(); i < 4; i++)
vers += "3";
vers += "4";
QString versionString = vers.join('.');

QStringList rcIcons;
Expand Down
20 changes: 20 additions & 0 deletions src/corelib/io/qfileinfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,8 @@ bool QFileInfoPrivate::isConnected() const {
refreshes the file information: refresh(). If you want to switch
off a QFileInfo's caching and force it to access the file system
every time you request information from it call setCaching(false).
For Windows, getAllMetadata() can be used to improve performance
of searching file information.
\sa QDir, QFile
*/
Expand Down Expand Up @@ -1410,6 +1412,24 @@ void QFileInfo::setCaching(bool enable)
d->cache_enabled = enable;
}

/*!
Returns all the supported file information internally. Currently, it is only
supported on Windows.
*/
bool QFileInfo::getAllMetadata() const
{
Q_D(const QFileInfo);

if (d->fileEngine == 0) {
#if defined(Q_OS_WIN)
return QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData,
QFileSystemMetaData::Permissions |
QFileSystemMetaData::LinkType);
#endif
}
return false;
}

/*!
\typedef QFileInfoList
\relates QFileInfo
Expand Down
2 changes: 2 additions & 0 deletions src/corelib/io/qfileinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ class Q_CORE_EXPORT QFileInfo
bool caching() const;
void setCaching(bool on);

bool getAllMetadata() const;

protected:
QSharedDataPointer<QFileInfoPrivate> d_ptr;

Expand Down
4 changes: 4 additions & 0 deletions src/corelib/io/qfilesystemengine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ QString QFileSystemEngine::slowCanonicalized(const QString &path)
if (path.isEmpty())
return path;

QFileInfo tmpInfo(path);
if (!tmpInfo.isSymLink())
return path;

QFileInfo fi;
const QChar slash(QLatin1Char('/'));
QString tmpPath = path;
Expand Down
2 changes: 2 additions & 0 deletions src/corelib/io/qfilesystemengine_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1056,6 +1056,8 @@ bool QFileSystemEngine::fillMetaData(const QFileSystemEntry &entry, QFileSystemM
#ifndef Q_OS_WINRT
SetErrorMode(oldmode);
#endif
data.knownFlagsMask |= what;
clearWinStatData(data);
return false;
}
}
Expand Down
35 changes: 35 additions & 0 deletions src/gui/kernel/qplatformtheme.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -682,6 +682,41 @@ QString QPlatformTheme::defaultStandardButtonText(int button)
return QString();
}

QString QPlatformTheme::removeMnemonics(const QString &original)
{
QString returnText(original.size(), 0);
int finalDest = 0;
int currPos = 0;
int l = original.length();
while (l) {
if (original.at(currPos) == QLatin1Char('&')
&& (l == 1 || original.at(currPos + 1) != QLatin1Char('&'))) {
++currPos;
--l;
if (l == 0)
break;
} else if (original.at(currPos) == QLatin1Char('(') && l >= 4 &&
original.at(currPos + 1) == QLatin1Char('&') &&
original.at(currPos + 2) != QLatin1Char('&') &&
original.at(currPos + 3) == QLatin1Char(')')) {
/* remove mnemonics its format is "\s*(&X)" */
int n = 0;
while (finalDest > n && returnText.at(finalDest - n - 1).isSpace())
++n;
finalDest -= n;
currPos += 4;
l -= 4;
continue;
}
returnText[finalDest] = original.at(currPos);
++currPos;
++finalDest;
--l;
}
returnText.truncate(finalDest);
return returnText;
}

unsigned QPlatformThemePrivate::currentKeyPlatforms()
{
const uint keyboardScheme = QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::KeyboardScheme).toInt();
Expand Down
1 change: 1 addition & 0 deletions src/gui/kernel/qplatformtheme.h
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ class Q_GUI_EXPORT QPlatformTheme

static QVariant defaultThemeHint(ThemeHint hint);
static QString defaultStandardButtonText(int button);
static QString removeMnemonics(const QString &original);

protected:
explicit QPlatformTheme(QPlatformThemePrivate *priv);
Expand Down
3 changes: 3 additions & 0 deletions src/gui/kernel/qscreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,9 @@ QRect QScreen::geometry() const
The available geometry is the geometry excluding window manager reserved areas
such as task bars and system menus.
Note, on X11 this value currently can not always be trusted as window managers don't
expose the available geometry in a reliable way on systems with multiple screens.
*/
QRect QScreen::availableGeometry() const
{
Expand Down
6 changes: 3 additions & 3 deletions src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@
**
****************************************************************************/

#include "qcocoacolordialoghelper.h"

#ifndef QT_NO_COLORDIALOG

#include <QtCore/qdebug.h>
#include <QtCore/qtimer.h>
#include <qpa/qplatformtheme.h>

#include "qcocoacolordialoghelper.h"
#include "qcocoahelpers.h"

#import <AppKit/AppKit.h>
Expand All @@ -52,7 +52,7 @@
[button setButtonType:NSMomentaryLightButton];
[button setBezelStyle:NSRoundedBezelStyle];
[button setTitle:(NSString*)(CFStringRef)QCFString(
qt_mac_removeMnemonics(QCoreApplication::translate("QDialogButtonBox", text)))];
QPlatformTheme::removeMnemonics(QCoreApplication::translate("QDialogButtonBox", text)))];
[[button cell] setFont:[NSFont systemFontOfSize:
[NSFont systemFontSizeForControlSize:NSRegularControlSize]]];
[superview addSubview:button];
Expand Down
4 changes: 3 additions & 1 deletion src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
**
****************************************************************************/

#include <qpa/qplatformtheme.h>

#include "qcocoafiledialoghelper.h"

#ifndef QT_NO_FILEDIALOG
Expand Down Expand Up @@ -183,7 +185,7 @@ - (void)dealloc
static QString strippedText(QString s)
{
s.remove( QString::fromLatin1("...") );
return qt_mac_removeMnemonics(s).trimmed();
return QPlatformTheme::removeMnemonics(s).trimmed();
}

- (NSString *)strip:(const QString &)label
Expand Down
6 changes: 3 additions & 3 deletions src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@
**
****************************************************************************/

#include "qcocoafontdialoghelper.h"

#ifndef QT_NO_FONTDIALOG

#include <QtCore/qtimer.h>
#include <QtGui/qfontdatabase.h>
#include <qpa/qplatformtheme.h>

#include <private/qfont_p.h>
#include <private/qfontengine_p.h>
#include <private/qfontengine_coretext_p.h>

#include "qcocoafontdialoghelper.h"
#include "qcocoahelpers.h"

#import <AppKit/AppKit.h>
Expand Down Expand Up @@ -72,7 +72,7 @@
[button setButtonType:NSMomentaryLightButton];
[button setBezelStyle:NSRoundedBezelStyle];
[button setTitle:(NSString*)(CFStringRef)QCFString(
qt_mac_removeMnemonics(QCoreApplication::translate("QDialogButtonBox", text)))];
QPlatformTheme::removeMnemonics(QCoreApplication::translate("QDialogButtonBox", text)))];
[[button cell] setFont:[NSFont systemFontOfSize:
[NSFont systemFontSizeForControlSize:NSRegularControlSize]]];
[superview addSubview:button];
Expand Down
1 change: 0 additions & 1 deletion src/plugins/platforms/cocoa/qcocoahelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ Qt::DropActions qt_mac_mapNSDragOperations(NSDragOperation nsActions);

// Misc
void qt_mac_transformProccessToForegroundApplication();
QString qt_mac_removeMnemonics(const QString &original);
CGColorSpaceRef qt_mac_genericColorSpace();
CGColorSpaceRef qt_mac_displayColorSpace(const QWidget *widget);
CGColorSpaceRef qt_mac_colorSpaceForDeviceType(const QPaintDevice *paintDevice);
Expand Down
40 changes: 3 additions & 37 deletions src/plugins/platforms/cocoa/qcocoahelpers.mm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
**
****************************************************************************/

#include <qpa/qplatformtheme.h>

#include "qcocoahelpers.h"


Expand Down Expand Up @@ -350,42 +352,6 @@ void qt_mac_transformProccessToForegroundApplication()
}
}
}

QString qt_mac_removeMnemonics(const QString &original)
{
QString returnText(original.size(), 0);
int finalDest = 0;
int currPos = 0;
int l = original.length();
while (l) {
if (original.at(currPos) == QLatin1Char('&')
&& (l == 1 || original.at(currPos + 1) != QLatin1Char('&'))) {
++currPos;
--l;
if (l == 0)
break;
} else if (original.at(currPos) == QLatin1Char('(') && l >= 4 &&
original.at(currPos + 1) == QLatin1Char('&') &&
original.at(currPos + 2) != QLatin1Char('&') &&
original.at(currPos + 3) == QLatin1Char(')')) {
/* remove mnemonics its format is "\s*(&X)" */
int n = 0;
while (finalDest > n && returnText.at(finalDest - n - 1).isSpace())
++n;
finalDest -= n;
currPos += 4;
l -= 4;
continue;
}
returnText[finalDest] = original.at(currPos);
++currPos;
++finalDest;
--l;
}
returnText.truncate(finalDest);
return returnText;
}

static CGColorSpaceRef m_genericColorSpace = 0;
static QHash<CGDirectDisplayID, CGColorSpaceRef> m_displayColorSpaceHash;
static bool m_postRoutineRegistered = false;
Expand Down Expand Up @@ -640,7 +606,7 @@ bool qt_mac_execute_apple_script(const QString &script, AEDesc *ret)

QString qt_mac_removeAmpersandEscapes(QString s)
{
return qt_mac_removeMnemonics(s).trimmed();
return QPlatformTheme::removeMnemonics(s).trimmed();
}

/*! \internal
Expand Down
4 changes: 3 additions & 1 deletion src/plugins/platforms/cocoa/qcocoamenuitem.mm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
**
****************************************************************************/

#include <qpa/qplatformtheme.h>

#include "qcocoamenuitem.h"

#include "qcocoamenu.h"
Expand Down Expand Up @@ -305,7 +307,7 @@ NSUInteger keySequenceModifierMask(const QKeySequence &accel)
if (accel.count() > 1)
text += QLatin1String(" (") + accel.toString(QKeySequence::NativeText) + QLatin1String(")");

QString finalString = qt_mac_removeMnemonics(text);
QString finalString = QPlatformTheme::removeMnemonics(text);
bool useAttributedTitle = false;
// Cocoa Font and title
if (m_font.resolve()) {
Expand Down
2 changes: 0 additions & 2 deletions src/plugins/platforms/cocoa/qt_mac_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,6 @@ class QMacSmartQuickDrawRegion
}
};

QString qt_mac_removeMnemonics(const QString &original); //implemented in qmacstyle_mac.cpp

class Q_WIDGETS_EXPORT QMacWindowChangeEvent
{
private:
Expand Down
3 changes: 0 additions & 3 deletions src/plugins/platforms/ios/qiosmenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,6 @@ class QIOSMenuItem : public QPlatformMenuItem
bool m_separator;
QIOSMenu *m_menu;
QKeySequence m_shortcut;

private:
QString removeMnemonics(const QString &original);
};

typedef QList<QIOSMenuItem *> QIOSMenuItemList;
Expand Down
38 changes: 2 additions & 36 deletions src/plugins/platforms/ios/qiosmenu.mm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

#include <qglobal.h>
#include <qguiapplication.h>
#include <qpa/qplatformtheme.h>

#include "qiosglobal.h"
#include "qiosmenu.h"
Expand Down Expand Up @@ -271,7 +272,7 @@ - (void)cancelMenu

void QIOSMenuItem::setText(const QString &text)
{
m_text = removeMnemonics(text);
m_text = QPlatformTheme::removeMnemonics(text);
}

void QIOSMenuItem::setMenu(QPlatformMenu *menu)
Expand Down Expand Up @@ -304,41 +305,6 @@ - (void)cancelMenu
m_enabled = enabled;
}

QString QIOSMenuItem::removeMnemonics(const QString &original)
{
// Copied from qcocoahelpers
QString returnText(original.size(), 0);
int finalDest = 0;
int currPos = 0;
int l = original.length();
while (l) {
if (original.at(currPos) == QLatin1Char('&')
&& (l == 1 || original.at(currPos + 1) != QLatin1Char('&'))) {
++currPos;
--l;
if (l == 0)
break;
} else if (original.at(currPos) == QLatin1Char('(') && l >= 4 &&
original.at(currPos + 1) == QLatin1Char('&') &&
original.at(currPos + 2) != QLatin1Char('&') &&
original.at(currPos + 3) == QLatin1Char(')')) {
/* remove mnemonics its format is "\s*(&X)" */
int n = 0;
while (finalDest > n && returnText.at(finalDest - n - 1).isSpace())
++n;
finalDest -= n;
currPos += 4;
l -= 4;
continue;
}
returnText[finalDest] = original.at(currPos);
++currPos;
++finalDest;
--l;
}
returnText.truncate(finalDest);
return returnText;
}

QIOSMenu::QIOSMenu()
: QPlatformMenu()
Expand Down
Loading

0 comments on commit 38eba4f

Please sign in to comment.