VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/include/QIWithRetranslateUI.h@ 20554

Last change on this file since 20554 was 9056, checked in by vboxsync, 17 years ago

FE/Qt4: Use QIWithRetranslateUI as base for all classes that need translation (Still not all classes transfered). Language could be switched online with VBoxManage.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * Declarations of utility classes and functions
5 * VirtualBox Qt extensions: QIWithRetranslateUI class declaration
6 */
7
8/*
9 * Copyright (C) 2008 Sun Microsystems, Inc.
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License (GPL) as published by the Free Software
15 * Foundation, in version 2 as it comes in the "COPYING" file of the
16 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 *
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
20 * Clara, CA 95054 USA or visit http://www.sun.com if you need
21 * additional information or have any questions.
22 */
23
24#ifndef __QIWithRetranslateUI_h
25#define __QIWithRetranslateUI_h
26
27/* Qt includes */
28#include <QObject>
29#include <QEvent>
30
31template <class Base>
32class QIWithRetranslateUI: public Base
33{
34public:
35
36 QIWithRetranslateUI (QWidget *aParent = 0) : Base (aParent) {}
37
38protected:
39
40 virtual void changeEvent (QEvent *aEvent)
41 {
42 Base::changeEvent (aEvent);
43 switch (aEvent->type())
44 {
45 case QEvent::LanguageChange:
46 {
47 retranslateUi();
48 aEvent->accept();
49 break;
50 }
51 default:
52 break;
53 }
54 }
55
56 virtual void retranslateUi() = 0;
57};
58
59template <class Base>
60class QIWithRetranslateUI2: public Base
61{
62public:
63
64 QIWithRetranslateUI2 (QWidget *aParent = 0, Qt::WindowFlags aFlags = 0) : Base (aParent, aFlags) {}
65
66protected:
67
68 virtual void changeEvent (QEvent *aEvent)
69 {
70 Base::changeEvent (aEvent);
71 switch (aEvent->type())
72 {
73 case QEvent::LanguageChange:
74 {
75 retranslateUi();
76 aEvent->accept();
77 break;
78 }
79 default:
80 break;
81 }
82 }
83
84 virtual void retranslateUi() = 0;
85};
86
87#endif /* __QIWithRetranslateUI_h */
88
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette