Reduce QtWidgets dependencies in the Cocoa plugin.
b8246f08 added the new menus implementation which
removes one of the major QtWidget dependencies.
Continuing on the path to QtWidget-freedom this
commit removes the following:
- qmenu_mac.h/mm. Not used.
- FORMS += filedialog.ui. Not used.
- qt_strippedText from qaction.cpp. Duplicate.
- Misc stray includes.
What is left should be the dependencies needed by
the print engine implementation. These will be
handled at a later time.
Change-Id: I0cead4cdaddcebd402d30c6112f3e889d0f28740
Conflicts:
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
bb10
parent
5fc8cc830e
commit
2922f85e70
|
|
@ -74,7 +74,6 @@ HEADERS += qcocoaintegration.h \
|
|||
qcocoaprintersupport.h \
|
||||
qcocoaservices.h \
|
||||
|
||||
FORMS += $$PWD/../../../widgets/dialogs/qfiledialog.ui
|
||||
RESOURCES += qcocoaresources.qrc
|
||||
|
||||
LIBS += -framework Cocoa -framework IOKit
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
#import <AppKit/NSSavePanel.h>
|
||||
#include "ui_qfiledialog.h"
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QFileDialogPrivate)
|
||||
#include <qpa/qplatformnativeinterface.h>
|
||||
|
||||
#import <AppKit/NSSavePanel.h>
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
#include "qmacclipboard.h"
|
||||
#include "qclipboard.h"
|
||||
#include "qapplication.h"
|
||||
#include "qguiapplication.h"
|
||||
#include "qbitmap.h"
|
||||
#include "qdatetime.h"
|
||||
#include "qdebug.h"
|
||||
|
|
|
|||
|
|
@ -1,130 +0,0 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
** This file is part of the plugins of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** GNU Lesser General Public License Usage
|
||||
** This file may be used under the terms of the GNU Lesser General Public
|
||||
** License version 2.1 as published by the Free Software Foundation and
|
||||
** appearing in the file LICENSE.LGPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU Lesser
|
||||
** General Public License version 2.1 requirements will be met:
|
||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License version 3.0 as published by the Free Software Foundation
|
||||
** and appearing in the file LICENSE.GPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU General
|
||||
** Public License version 3.0 requirements will be met:
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** Other Usage
|
||||
** Alternatively, this file may be used in accordance with the terms and
|
||||
** conditions contained in a signed written agreement between you and Nokia.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "qt_mac_p.h"
|
||||
#include <QtCore/qpointer.h>
|
||||
#include <QtWidgets/qmenu.h>
|
||||
#include <QtWidgets/qmenubar.h>
|
||||
#include <qpa/qplatformmenu.h>
|
||||
|
||||
@class NSMenuItem;
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QCocoaMenuAction : public QPlatformMenuAction
|
||||
{
|
||||
public:
|
||||
QCocoaMenuAction();
|
||||
~QCocoaMenuAction();
|
||||
|
||||
NSMenuItem *menuItem;
|
||||
uchar ignore_accel : 1;
|
||||
uchar merged : 1;
|
||||
OSMenuRef menu;
|
||||
QPointer<QMenu> qtMenu;
|
||||
};
|
||||
|
||||
struct QMenuMergeItem
|
||||
{
|
||||
inline QMenuMergeItem(NSMenuItem *c, QCocoaMenuAction *a) : menuItem(c), action(a) { }
|
||||
NSMenuItem *menuItem;
|
||||
QCocoaMenuAction *action;
|
||||
};
|
||||
typedef QList<QMenuMergeItem> QMenuMergeList;
|
||||
|
||||
class QCocoaMenu : public QPlatformMenu
|
||||
{
|
||||
public:
|
||||
QCocoaMenu(QMenu *qtMenu);
|
||||
~QCocoaMenu();
|
||||
|
||||
OSMenuRef macMenu(OSMenuRef merge = 0);
|
||||
void syncSeparatorsCollapsible(bool collapse);
|
||||
void setMenuEnabled(bool enable);
|
||||
|
||||
void addAction(QAction *action, QAction *before);
|
||||
void syncAction(QAction *action);
|
||||
void removeAction(QAction *action);
|
||||
|
||||
void addAction(QCocoaMenuAction *action, QCocoaMenuAction *before);
|
||||
void syncAction(QCocoaMenuAction *action);
|
||||
void removeAction(QCocoaMenuAction *action);
|
||||
bool merged(const QAction *action) const;
|
||||
QCocoaMenuAction *findAction(QAction *action) const;
|
||||
|
||||
OSMenuRef menu;
|
||||
static QHash<OSMenuRef, OSMenuRef> mergeMenuHash;
|
||||
static QHash<OSMenuRef, QMenuMergeList*> mergeMenuItemsHash;
|
||||
QList<QCocoaMenuAction*> actionItems;
|
||||
QMenu *qtMenu;
|
||||
};
|
||||
|
||||
class QCocoaMenuBar : public QPlatformMenuBar
|
||||
{
|
||||
public:
|
||||
QCocoaMenuBar(QMenuBar *qtMenuBar);
|
||||
~QCocoaMenuBar();
|
||||
|
||||
void handleReparent(QWidget *newParent);
|
||||
|
||||
void addAction(QAction *action, QAction *before);
|
||||
void syncAction(QAction *action);
|
||||
void removeAction(QAction *action);
|
||||
|
||||
void addAction(QCocoaMenuAction *action, QCocoaMenuAction *before);
|
||||
void syncAction(QCocoaMenuAction *action);
|
||||
void removeAction(QCocoaMenuAction *action);
|
||||
|
||||
bool macWidgetHasNativeMenubar(QWidget *widget);
|
||||
void macCreateMenuBar(QWidget *parent);
|
||||
void macDestroyMenuBar();
|
||||
OSMenuRef macMenu();
|
||||
static bool macUpdateMenuBarImmediatly();
|
||||
static void macUpdateMenuBar();
|
||||
QCocoaMenuAction *findAction(QAction *action) const;
|
||||
|
||||
OSMenuRef menu;
|
||||
OSMenuRef apple_menu;
|
||||
QList<QCocoaMenuAction*> actionItems;
|
||||
QMenuBar *qtMenuBar;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -65,7 +65,6 @@
|
|||
#include <private/qpainter_p.h>
|
||||
#include <private/qpainterpath_p.h>
|
||||
#include <private/qtextengine_p.h>
|
||||
#include <private/qwidget_p.h>
|
||||
|
||||
#include "qcocoahelpers.h"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue