diff options
Diffstat (limited to 'src/plugins/platformthemes/gtk2/qgtk2theme.cpp')
-rw-r--r-- | src/plugins/platformthemes/gtk2/qgtk2theme.cpp | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/src/plugins/platformthemes/gtk2/qgtk2theme.cpp b/src/plugins/platformthemes/gtk2/qgtk2theme.cpp deleted file mode 100644 index a7f08bc047..0000000000 --- a/src/plugins/platformthemes/gtk2/qgtk2theme.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL21$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** As a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qgtk2theme.h" -#include "qgtk2dialoghelpers.h" -#include <QVariant> - -#undef signals -#include <gtk/gtk.h> - -#include <X11/Xlib.h> - -QT_BEGIN_NAMESPACE - -const char *QGtk2Theme::name = "gtk2"; - -static QString gtkSetting(const gchar *propertyName) -{ - GtkSettings *settings = gtk_settings_get_default(); - gchararray value; - g_object_get(settings, propertyName, &value, NULL); - QString str = QString::fromUtf8(value); - g_free(value); - return str; -} - -QGtk2Theme::QGtk2Theme() -{ - // gtk_init will reset the Xlib error handler, and that causes - // Qt applications to quit on X errors. Therefore, we need to manually restore it. - int (*oldErrorHandler)(Display *, XErrorEvent *) = XSetErrorHandler(NULL); - - gtk_init(0, 0); - - XSetErrorHandler(oldErrorHandler); -} - -QVariant QGtk2Theme::themeHint(QPlatformTheme::ThemeHint hint) const -{ - switch (hint) { - case QPlatformTheme::SystemIconThemeName: - return QVariant(gtkSetting("gtk-icon-theme-name")); - case QPlatformTheme::SystemIconFallbackThemeName: - return QVariant(gtkSetting("gtk-fallback-icon-theme")); - default: - return QGnomeTheme::themeHint(hint); - } -} - -QString QGtk2Theme::gtkFontName() const -{ - QString cfgFontName = gtkSetting("gtk-font-name"); - if (!cfgFontName.isEmpty()) - return cfgFontName; - return QGnomeTheme::gtkFontName(); -} - -bool QGtk2Theme::usePlatformNativeDialog(DialogType type) const -{ - switch (type) { - case ColorDialog: - return true; - case FileDialog: - return true; - case FontDialog: - return true; - default: - return false; - } -} - -QPlatformDialogHelper *QGtk2Theme::createPlatformDialogHelper(DialogType type) const -{ - switch (type) { - case ColorDialog: - return new QGtk2ColorDialogHelper; - case FileDialog: - return new QGtk2FileDialogHelper; - case FontDialog: - return new QGtk2FontDialogHelper; - default: - return 0; - } -} - -QT_END_NAMESPACE |