[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-docbook
Subject: branches/KDE/3.5/kdelibs
From: Krzysztof Lichota <lichota () mimuw ! edu ! pl>
Date: 2007-08-15 11:58:30
Message-ID: 1187179110.642080.2737.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 700380 by klichota:
Finally I have found some time to recompile KDE and test the feature again.
This is re-commit of implementation of switching language for individual \
applications. Previous commit (r647712) was reverted as feature was not ported to KDE \
4 then. Now it is.
For language switching option see menu Help->Switch application language.
Feature freeze exception was granted for this feature. See:
http://lists.kde.org/?l=kde-devel&m=118096509723997&w=2
Thanks to release team for that :)
Also thanks to David Faure for review and providing valuable tips.
CCBUG: 24348
FEATURE: 24348
GUI:
M +1 -1 kdecore/klocale.h
M +2 -2 kdeui/Makefile.am
M +29 -1 kdeui/khelpmenu.cpp
M +7 -1 kdeui/khelpmenu.h
M +2 -0 kdeui/kstdaction.cpp
M +2 -1 kdeui/kstdaction.h
M +1 -0 kdeui/kstdaction_p.h
A kdeui/kswitchlanguagedialog.cpp \
kdeui/kswitchlanguagedialog.cpp#647712 [License: LGPL (v2+)] A \
kdeui/kswitchlanguagedialog.h kdeui/kswitchlanguagedialog.h#647712 [License: LGPL \
(v2+)] M +2 -0 kdeui/ui_standards.rc
--- branches/KDE/3.5/kdelibs/kdecore/klocale.h #700379:700380
@@ -1301,7 +1301,7 @@
*/
static QString catalogueFileName(const QString & language,
const KCatalogue & catalog);
-
+public:
/**
* @internal Checks whether or not theFind catalog for given language and given \
catalog name.
*
--- branches/KDE/3.5/kdelibs/kdeui/Makefile.am #700379:700380
@@ -55,7 +55,7 @@
kauthicon.h kmessagebox.h ksharedpixmap.h \
kdualcolorbtn.h kdualcolorbutton.h ktoolbarbutton.h \
ktoolbarradiogroup.h ktextbrowser.h \
- kaction.h kactioncollection.h kactionclasses.h khelpmenu.h \
+ kaction.h kactioncollection.h kactionclasses.h khelpmenu.h kswitchlanguagedialog.h \
\ kcmodule.h kcmenumngr.h kpanelmenu.h kpanelappmenu.h \
kactionshortcutlist.h kstdaction.h kcombobox.h \
kiconview.h klistview.h klistbox.h kbugreport.h kpassdlg.h \
@@ -102,7 +102,7 @@
kjanuswidget.cpp kaboutdialog.cpp \
kauthicon.cpp kmessagebox.cpp kdualcolorbutton.cpp \
ktoolbarradiogroup.cpp ktoolbarbutton.cpp \
- ktextbrowser.cpp khelpmenu.cpp \
+ ktextbrowser.cpp khelpmenu.cpp kswitchlanguagedialog.cpp \
kcmenumngr.cpp kpanelmenu.cpp \
kiconview.cpp klistbox.cpp kwordwrap.cpp kbugreport.cpp \
kcombobox.cpp kpassdlg.cpp kxmlguiclient.cpp kxmlguifactory.cpp \
--- branches/KDE/3.5/kdelibs/kdeui/khelpmenu.cpp #700379:700380
@@ -42,20 +42,24 @@
#include <kstdaccel.h>
#include <kstdaction.h>
+#include "kswitchlanguagedialog.h"
+
#include "config.h"
#include <qxembed.h>
class KHelpMenuPrivate
{
public:
- KHelpMenuPrivate()
+ KHelpMenuPrivate():mSwitchApplicationLanguage(NULL)
{
}
~KHelpMenuPrivate()
{
+ delete mSwitchApplicationLanguage;
}
const KAboutData *mAboutData;
+ KSwitchLanguageDialog *mSwitchApplicationLanguage;
};
KHelpMenu::KHelpMenu( QWidget *parent, const QString &aboutAppText,
@@ -147,6 +151,15 @@
need_separator = true;
}
+ if (kapp->authorizeKAction("switch_application_language"))
+ {
+ if (need_separator)
+ mMenu->insertSeparator();
+ mMenu->insertItem( i18n( "Switch application &language..." ), \
menuSwitchLanguage ); + mMenu->connectItem( menuSwitchLanguage, this, \
SLOT(switchApplicationLanguage()) ); + need_separator = true;
+ }
+
if (need_separator)
mMenu->insertSeparator();
@@ -240,7 +253,17 @@
mBugReport->show();
}
+void KHelpMenu::switchApplicationLanguage()
+{
+ if ( !d->mSwitchApplicationLanguage )
+ {
+ d->mSwitchApplicationLanguage = new KSwitchLanguageDialog( mParent, \
"switchlanguagedialog", false ); + connect( d->mSwitchApplicationLanguage, \
SIGNAL(finished()), this, SLOT( dialogFinished()) ); + }
+ d->mSwitchApplicationLanguage->show();
+}
+
void KHelpMenu::dialogFinished()
{
QTimer::singleShot( 0, this, SLOT(timerExpired()) );
@@ -263,6 +286,11 @@
{
delete mAboutApp; mAboutApp = 0;
}
+
+ if (d->mSwitchApplicationLanguage && !d->mSwitchApplicationLanguage->isVisible())
+ {
+ delete d->mSwitchApplicationLanguage; d->mSwitchApplicationLanguage = 0;
+ }
}
--- branches/KDE/3.5/kdelibs/kdeui/khelpmenu.h #700379:700380
@@ -139,7 +139,8 @@
menuWhatsThis = 1,
menuAboutApp = 2,
menuAboutKDE = 3,
- menuReportBug = 4
+ menuReportBug = 4,
+ menuSwitchLanguage = 5
};
/**
@@ -222,6 +223,11 @@
* Opens the standard "Report Bugs" dialog box.
*/
void reportBug();
+
+ /**
+ * Opens changing default application language dialog box.
+ */
+ void switchApplicationLanguage();
private slots:
/**
--- branches/KDE/3.5/kdelibs/kdeui/kstdaction.cpp #700379:700380
@@ -313,6 +313,8 @@
{ return KStdAction::create( TipofDay, name, recvr, slot, parent ); }
KAction *reportBug( const QObject *recvr, const char *slot, KActionCollection* \
parent, const char *name ) { return KStdAction::create( ReportBug, name, recvr, \
slot, parent ); } +KAction *switchApplicationLanguage( const QObject *recvr, const \
char *slot, KActionCollection* parent, const char *name ) + { return \
KStdAction::create( SwitchApplicationLanguage, name, recvr, slot, parent ); } \
KAction *aboutApp( const QObject *recvr, const char *slot, KActionCollection* parent, \
const char *name ) { return KStdAction::create( AboutApp, name, recvr, slot, parent \
); } KAction *aboutKDE( const QObject *recvr, const char *slot, KActionCollection* \
parent, const char *name )
--- branches/KDE/3.5/kdelibs/kdeui/kstdaction.h #700379:700380
@@ -157,7 +157,8 @@
ConfigureNotifications,
FullScreen, ///< @since 3.2
Clear, ///< @since 3.2
- PasteText ///< @since 3.2
+ PasteText, ///< @since 3.2
+ SwitchApplicationLanguage ///< @since 3.5.8
};
/**
--- branches/KDE/3.5/kdelibs/kdeui/kstdaction_p.h #700379:700380
@@ -109,6 +109,7 @@
{ WhatsThis, KStdAccel::WhatsThis, "help_whats_this", I18N_NOOP("What's \
&This?"), 0, "contexthelp" }, { TipofDay, KStdAccel::AccelNone, \
"help_show_tip", I18N_NOOP("Tip of the &Day"), 0, "idea" }, { ReportBug, \
KStdAccel::AccelNone, "help_report_bug", I18N_NOOP("&Report Bug..."), 0, 0 }, + { \
SwitchApplicationLanguage, KStdAccel::AccelNone, "switch_application_language", \
I18N_NOOP("Switch application &language..."), 0, 0 }, { AboutApp, \
KStdAccel::AccelNone, "help_about_app", I18N_NOOP("&About %1"), 0, 0 }, { AboutKDE, \
KStdAccel::AccelNone, "help_about_kde", I18N_NOOP("About &KDE"), 0,"about_kde" }, { \
ActionNone, KStdAccel::AccelNone, 0, 0, 0, 0 }
--- branches/KDE/3.5/kdelibs/kdeui/ui_standards.rc #700379:700380
@@ -176,6 +176,8 @@
<Separator/>
<Action name="help_report_bug"/>
<Separator/>
+ <Action name="switch_application_language"/>
+ <Separator/>
<MergeLocal name="about_merge"/>
<Action name="help_about_app"/>
<Action name="help_about_kde"/>
_______________________________________________
kde-docbook mailing list
kde-docbook@kde.org
https://mail.kde.org/mailman/listinfo/kde-docbook
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic