mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
The QT provided QM files in QM_FILES got overwritten by the invokation of the translation function. Put them into a different variable. And their name is qtbase_XX.qm, not qt_XX.qm This fix also translates the "Finder Menu"
55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
/* vi: set sw=4 ts=4:
|
|
*
|
|
* Copyright (C) 2001 - 2015 Christian Hohnstaedt.
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef __XCAAPPLICATION_H
|
|
#define __XCAAPPLICATION_H
|
|
|
|
#include <QApplication>
|
|
#include <QTranslator>
|
|
#include <QLocale>
|
|
|
|
class MainWindow;
|
|
class QAction;
|
|
|
|
class XcaTranslator : public QTranslator
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
XcaTranslator(QObject *p = NULL) : QTranslator(p) { }
|
|
bool load(const QLocale &locale, const QString &filename,
|
|
const QString &dir)
|
|
{
|
|
return QTranslator::load(locale, filename, "_", dir, ".qm");
|
|
}
|
|
};
|
|
|
|
class XcaApplication : public QApplication
|
|
{
|
|
Q_OBJECT
|
|
|
|
private:
|
|
MainWindow *mainw{};
|
|
XcaTranslator *qtTr{};
|
|
XcaTranslator *xcaTr{};
|
|
static QList<QLocale> langAvail;
|
|
|
|
public:
|
|
XcaApplication(int &argc, char *argv[]);
|
|
virtual ~XcaApplication();
|
|
void setMainwin(MainWindow *m);
|
|
void setupLanguage(const QLocale &lang);
|
|
static QFont tableFont;
|
|
static bool languageAvailable(const QLocale &l);
|
|
bool eventFilter(QObject *watched, QEvent *ev);
|
|
bool notify(QObject* receiver, QEvent* event);
|
|
|
|
public slots:
|
|
void switchLanguage(QAction* a);
|
|
void quit();
|
|
};
|
|
#endif
|