summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
index 05149a8098..1d87f71b33 100644
--- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
+++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
@@ -48,29 +48,25 @@
*****************************************************************************/
//#define DEBUG_FILEDIALOG_FILTERS
-#include <qapplication.h>
-#include <private/qapplication_p.h>
-#include <private/qfiledialog_p.h>
+#include <qguiapplication.h>
+#include <private/qguiapplication_p.h>
#include "qt_mac_p.h"
#include "qcocoahelpers.h"
#include <qregexp.h>
#include <qbuffer.h>
#include <qdebug.h>
#include <qstringlist.h>
-#include <qaction.h>
#include <qtextcodec.h>
#include <qvarlengtharray.h>
-#include <qdesktopwidget.h>
#include <stdlib.h>
#include <qabstracteventdispatcher.h>
+
+#include <qpa/qplatformnativeinterface.h>
+
#import <AppKit/NSSavePanel.h>
-#include "ui_qfiledialog.h"
-QT_FORWARD_DECLARE_CLASS(QFileDialogPrivate)
QT_FORWARD_DECLARE_CLASS(QString)
QT_FORWARD_DECLARE_CLASS(QStringList)
-QT_FORWARD_DECLARE_CLASS(QWidget)
-QT_FORWARD_DECLARE_CLASS(QAction)
QT_FORWARD_DECLARE_CLASS(QFileInfo)
QT_FORWARD_DECLARE_CLASS(QWindow)
QT_USE_NAMESPACE
@@ -194,10 +190,24 @@ typedef QSharedPointer<QFileDialogOptions> SharedPointerFileDialogOptions;
[super dealloc];
}
+static QString strippedText(QString s)
+{
+ s.remove( QString::fromLatin1("...") );
+ int i = 0;
+ while (i < s.size()) {
+ ++i;
+ if (s.at(i-1) != QLatin1Char('&'))
+ continue;
+ if (i < s.size() && s.at(i) == QLatin1Char('&'))
+ ++i;
+ s.remove(i-1,1);
+ }
+ return s.trimmed();
+}
+
- (NSString *)strip:(const QString &)label
{
- QAction a(label, 0);
- return QCFString::toNSString(a.iconText());
+ return QCFString::toNSString(strippedText(label));
}
- (void)closePanel